DORA (DevOps Research and Assessment) метрики — это набор ключевых показателей, разработанных исследовательской группой DORA (Google DevOps Research and Assessment), которые помогают измерять эффективность процессов DevOps в организации. Эти метрики позволяют оценить скорость и стабильность поставки ПО, а также выявить узкие места в процессе разработки и развертывания.


🔹 4 ключевые DORA-метрики

DORA определяет четыре основные метрики, которые делят команды на “Элитные”, “Высокопроизводительные”, “Средние” и “Низкопроизводительные”.

1️⃣ Частота развертываний (Deployment Frequency)

📌 Что измеряет?

  • Как часто команда развертывает код в продакшн или в staging-окружение.
  • Чем чаще развертывание, тем лучше DevOps-процессы.

📊 Как измерять?

  • Количество развертываний в продакшн за определенный период (день, неделю, месяц).

📈 Идеальное значение:

  • Элитные команды → развертывание по запросу (On-demand, многократно в день).
  • Высокопроизводительные → развертывание раз в день - раз в неделю.
  • Средние → раз в неделю - раз в месяц.
  • Низкопроизводительные → реже, чем раз в месяц.

2️⃣ Время выполнения изменений (Lead Time for Changes)

📌 Что измеряет?

  • Время от написания кода до его успешного развертывания в продакшн.
  • Отражает эффективность CI/CD и процесса доставки ПО.

📊 Как измерять?

  • Разница между коммитом и успешным деплоем в продакшн.

📈 Идеальное значение:

  • Элитные командыменее 1 часа.
  • Высокопроизводительные → от 1 дня до 1 недели.
  • Средниеот недели до месяца.
  • Низкопроизводительныеболее месяца.

3️⃣ Среднее время восстановления (Mean Time to Restore, MTTR)

📌 Что измеряет?

  • Сколько времени требуется на восстановление системы после инцидента или сбоя.
  • Показывает устойчивость команды к отказам.

📊 Как измерять?

  • Время от обнаружения проблемы до полного восстановления работоспособности.

📈 Идеальное значение:

  • Элитные командыменее 1 часа.
  • Высокопроизводительныедо суток.
  • Средниеот 1 до 7 дней.
  • Низкопроизводительныеболее недели.

4️⃣ Процент неудачных развертываний (Change Failure Rate, CFR)

📌 Что измеряет?

  • Доля развертываний, которые приводят к отказам (баги, откаты, падения).
  • Позволяет понять, насколько качественные изменения вносятся в систему.

📊 Как измерять?

  • Количество неудачных релизов ÷ общее число релизов × 100%.

📈 Идеальное значение:

  • Элитные командыменее 15%.
  • Высокопроизводительные15-30%.
  • Средние30-45%.
  • Низкопроизводительныеболее 45%.

🎯 Как использовать DORA-метрики?

1️⃣ Автоматизировать сбор данных

  • Инструменты: Jenkins, GitLab CI/CD, Datadog, New Relic, Prometheus, Grafana.

2️⃣ Регулярно анализировать тренды

  • Улучшение одного показателя может негативно повлиять на другие (например, увеличение частоты развертываний может повысить процент отказов).

3️⃣ Использовать метрики для улучшения процессов

  • Внедрять CI/CD, автоматическое тестирование, “Shift-Left Testing” и канареечные развертывания.

📊 Таблица сравнения DORA-метрик для разных типов команд

Категория командЧастота развертыванийLead Time for ChangesВремя восстановления (MTTR)Change Failure Rate
ЭлитныеНесколько раз в деньМенее 1 часаМенее 1 часа< 15%
ВысокопроизводительныеРаз в день - раз в неделю1 день - 1 неделяДо суток15-30%
СредниеРаз в неделю - раз в месяц1 неделя - 1 месяц1-7 дней30-45%
НизкопроизводительныеРеже 1 раза в месяцБолее месяцаБолее недели> 45%

🚀 Заключение

DORA-метрики помогают компаниям измерять и улучшать эффективность DevOps. Они дают представление о:

  • Скорости доставки кода в продакшн.
  • Стабильности развертываний.
  • Гибкости команды в устранении проблем.

💡 Цель: Постепенно улучшать показатели, повышая DevOps-культуру в компании! 🚀