Сегодня на вебинаре упомянули DORA-метрики. Решил кратко рассказать о них здесь.
Эти метрики появились в результате исследований группы DevOps Research and Assessment (DORA) в Google и нужны они для оценки зрелости DevOps процессов в компаниях. Так что Башмачок тут ни при чём :)
1. Deployment Frequency - чем чаще релизы, тем лучше.
Как обеспечить частоту деплоев? Обеспечить код таким количеством автоматических тестов, чтобы мы были уверены в его работоспособности. То есть, мы готовы выпустить релиз каждый раз, когда тесты проходят успешно.
2. Lead Time for Changes - чем меньше путь от коммита в
origin до прода, тем лучше.Разработчики в поте лица пилят новые фичи на протяжение примерно бесконечного времени. Но насколько быстро то, что сделал разработчик, попадёт в продакшен?
3. Change Failure Rate - чем меньше проблемных деплоев, тем лучше.
Ошибки случаются у всех. Эта метрика и учитывает эти ошибки. Если мы ломаем прод своим деплоем, необходимо сделать выводы, чтобы в будущем подобное не повторялось.
4. Time to Restore Service - чем быстрее встали, тем лучше.
Раз уж есть ошибки, то могут быть и падения. Без них никуда. Собственно, наши процессы должны быть выстроены настолько хорошо, чтобы мы могли поднять прод максимально быстро. Туда же относятся и различные ЧП, например, физическая поломка сервера.
Статический анализ, внедрённый в DevOps, кстати, помогает как раз в первой метрике. Анализатор - один из инструментов, который поможет нам быть уверенными в каждой сборке, а следовательно и в каждом релизе.
🎤 feelin