Состояние DevOps в России 2020

В 2020 году проводилось первое исследование состояния DevOps в России при поддержке компаний Экспресс 42 и Онтико. Наш эксперт, Игорь Курочкин - автор первого исследования. Для исследования использовалась методология из книги Accelerate и отчетов State of DevOps. Исследование заняло 6 месяцев и включало в себя анализ предыдущих исследований, формулировку гипотез, подготовку опросника, анализ результатов и составление отчета.

В результате исследования получилось опросить 889 представителей индустрии и получить срез по текущему состоянию инженерных подходов и процессов, практик и инструментов в российских компаниях и командах. Получилось проверить гипотезы как инженерные практики влияют на эффективность поставки, коммерческие и некоммерческие показатели компаний, определить ключевые метрики и профили эффективности, сравнить результаты с исследованиями компаний DORA и Puppet.

В отчете раскрыты следующие темы:
  • Профили эффективности команд. На основе ответов респондентов выполнена кластеризация и выделены три статистически значимых профиля эффективности. Деление на четыре профиля, как в исследованиях DORA, оказалось недостаточно устойчивым для российского рынка, поэтому использованы три группы — High, Medium и Low;
  • Ключевые метрики (4 key metrics). Срок поставки (Lead Time for Changes) — время от Commit до успешного запуска кода в Production окружении. Частота развертывания (Deployment Frequency) — как часто изменения кода применяются на Production окружении или публикуются конечным пользователям. Время восстановления (MTTR) — сколько времени в среднем требуется для восстановления сервиса после инцидента или дефекта повлиявшего на пользователей. Неуспешные изменения (Change Failure Rate) — процент изменений на Production окружение которые заканчиваются деградацией сервиса и требуют устранения последствий;
  • Применение ключевых метрик для анализа эффективности. Показано, что при сопоставлении реальных команд с профилями эффективности только около 16% респондентов полностью соответствуют одному из профилей. В остальных случаях команды находятся между профилями, что подтверждает ограниченность использования усредненных профилей без дополнительных инструментов анализа;
  • Инструменты для практик Infrastructure as Code и CI/CD. Среди оркестраторов лидирует Kubernetes — 52% респондентов. Docker Swarm используют 12%. Наиболее распространенные CI-системы — Jenkins и GitLab. Самый популярный инструмент управления конфигурациями — Ansible, далее следует Shell. Большинство команд используют ОС семейства Linux, при этом не менее 25% продолжают использовать Windows;
  • Внутренние платформы, платформенные команды, предоставление платформенных сервисов. Не выявлено значимой связи между возрастом платформы и профилем эффективности. При этом платформы команд профиля High в среднем предоставляют больше сервисов и программных интерфейсов и чаще сопровождаются активной поддержкой и обучением со стороны платформенных команд;
  • Практики непрерывной интеграции и поставки, влияние архитектуры. Подтверждено, что более высокий уровень автоматизации CI/CD связан с лучшими показателями по всем ключевым метрикам. Сам факт использования микросервисной архитектуры не коррелирует напрямую с профилем эффективности, однако архитектура, обеспечивающая автономность команд, является значимым фактором для профиля High;
  • Связь Agile и DevOps. DevOps без Agile встречается редко. У 50% респондентов Agile практики появились заметно раньше DevOps, около 20% начали внедрение одновременно. Отсутствие и Agile, и DevOps практик является характерным признаком профиля Low;
  • Паттерны команд и способов взаимодействия из Team Topologies. Инфраструктурные команды присутствуют примерно у 50% респондентов. Отдельные DevOps команды отметили 45%, при этом они чаще встречаются у профиля High. Кросс-функциональные команды и отдельные команды SRE также значительно чаще представлены в профилях High и Medium, чем в Low;
  • Соотношение Dev, QA, OPS команд и инженеров. Для профиля High характерно меньшее количество инженеров тестирования и эксплуатации на одного разработчика по сравнению с Medium и Low, что отражает более высокий уровень автоматизации и зрелости инженерных практик.

Подробнее в отчете, статье и записи выступления на конференции DevOpsConf 2020:
Если вам интересно проведение независимых исследований по состоянию DevOps, Platform Engineering, Reliability Engineering и других направлений в индустрии или внутри вашей компании, свяжитесь с нами для обсуждения вариантов сотрудничества.