Как нарисовать DevOps?

Наш эксперт, Игорь Курочкин, рассказал про новый подход Team Topologies на конференции DevOops 2019, которая проходила в Санкт-Петербурге в октябре 2019 года.

Идея доклада появилась после анонса одноименной книги и первых выступлений от авторов подхода Matthew Skelton и Manuel Pais. Мы давно следили за авторами, еще с момента публикации работ по DevOps Topologies, поэтому сразу оценили пользу от применения нового подхода и решили первыми рассказать о нем на ближайшей конференции.

В докладе рассматриваются следующие темы:
  • DevOps как проблема взаимодействия команд разработки, тестирования и эксплуатации;
  • Для анализа взаимодействия команд предлагается использовать инструмент Value Stream Mapping (VSM), позволяющий выявлять узкие места, задержки и источники потерь в потоке создания ценности от идеи до эксплуатации;
  • Подход к визуализации DevOps топологий, включая типовые паттерны и анти-паттерны организации команд. Обсуждается различие между постоянной DevOps командой как анти-паттерном и временной DevOps командой как переходным вариантом;
  • Подход Team Topologies к проектированию команд и их взаимодействия. Рассматриваются четыре типа команд: Stream-aligned team, ориентированная на поток создания ценности, Platform team, предоставляющая внутреннюю платформу, Enabling team, развивающая инженерные процессы и практики, Complicated-Subsystem team, отвечающая за сложные подсистемы;
  • Поясняется отличие платформенной команды от инфраструктурных команд (Cloud, DevOps, Infrastructure, Operations). Платформенная команда рассматривается не как поставщик инфраструктуры, а как продуктовая команда, создающая и развивающая внутреннюю платформу для других инженерных команд;
  • Вводится подход Platform as a Product (Платформа как продукт) с фокусом на Developer Experience, включая понимание пользователей платформы, их потребностей, пользовательских сценариев и метрик успеха платформы;
  • Рассматривается подход Thinnest Viable Platform (TVP), который предполагает создание минимального, но достаточного набора API, документации и инструментов, необходимых для ускорения и упрощения работы команд, разрабатывающих программные сервисы и системы;
  • Описывается подход Platform as a Service (Платформа как сервис), который предполагает предоставление платформенных возможностей другим командам в формате самообслуживания с минимальным вовлечением платформенной команды. Подход включает API, пользовательские интерфейсы, документацию, код, модули, инструменты, интеграции и процессы;
  • Рассматривается концепция Platform Layers (Платформенные слои). В крупных организациях может существовать несколько платформенных команд, при этом платформа логически разделяется на слои, такие как инфраструктура и облако, платформы окружений, платформа непрерывной интеграции и поставки, платформы мониторинга и логирования, платформы для хранилищ данных и других базовых сервисов;
  • Разбирается состав и возможные варианты Enabling команд, включая Accelerate team, DevOps Evangelist team и DevOps Advocacy team, а также их роль в масштабировании инженерных практик;
  • Отдельное внимание уделяется целям и задачам Enabling команд, способам их взаимодействия с другими командами и используемым практикам и инструментам, включая проведение R&D, организация Dojo, создание и публикация технологических радаров (Technology Radar), проведение обучения и тренингов, направленных на развитие инженерной культуры и практик.

Подробнее в записи выступления и презентации:
Свяжитесь с нами, если вам интересно применение подхода Team Topologies для организации команд и улучшения взаимодействия в вашей компании. Мы помогаем развивать эффективные процессы и современные инженерные практики, проводим анализ процессов и практик разработки, тестирования, поставки и эксплуатации, готовим рекомендации по улучшению и помогаем их реализовать.

Не забывайте подписываться на наш канал Enabling.team Insights, чтобы оставаться в курсе технологических трендов.