Відома в IT колах приказка говорить: «Не можна поліпшити те, що не можна виміряти». Тому метрики є важливим інструментом в IT проєктах. Але як вимірювати метриками devops? Як оцінити, наскільки якісними та правильними є процеси розробки. Розберім, якими метриками вимірювати DevOps.
Навіщо використовувати DevOps метрики
Інженери DevOps мають ключову мету: створити єдиний простір для розробки, в якому всі процеси будуть мати:
- чітку структуру;
- зрозумілий шлях реалізації;
- стандарти, які вимагає менеджмент і клієнт;
- план масштабування.
Але як привести кожен процес до стандарту? Як розробити рутину, за якою буде зрозумілий кожен крок? Якщо пояснювати DevOps простими словами, то це методологія саме для цих цілей. Але єдиним правильним рішенням буде використовувати метрики.
Як саме метрики допомагають DevOps
У системах розгортання є кілька проблем. Незалежно від типу проєкту, вони зустрічаються регулярно:
- Розростання інструментів розробки. Через необхідність перемикатися між інструментами, розробники втрачають до 15 робочих годин на тиждень, згідно з даними звіту State of Internal Developer Portals. DevOps це дозволяє контролювати, якщо використовує метрики для відстеження.
- Точність даних. Через те, що дані збираються з різних джерел, без метрики складно оцінювати їх правильність.
- Автоматична документація. Користуючись метриками, можна автоматично оновлювати документацію і підтримувати її в актуальному стані.
Це тільки мала частина того, як допомагають метрики для DevOps. Розберемо, що саме використовувати.
DORA Metrics DevOps: 4 вершники оцінки розробки
DORA Metrics DevOps є стандартним набором метрик, які допомагають оцінити рівень і якість процесів розробки. За допомогою них можна дізнатися, як швидко DevOps реагує на зміни, який час розгортання коду, частоту ітерацій, аналіз збоїв у процесах.
DORA DevOps Metrics покращують планування роботи, допомагають визначити області поліпшення процесів, знайти «золоту середину» в технічних і ресурсних питаннях. Слід спиратися на 4 ключові метрики DORA DevOps.
Частота розгортань
Часто DevOps випускає програмний продукт досить часто, вносячи незначні зміни. Це допомагає відстежити баги на ранньому етапі, розуміючи, де саме їх шукати. Процес тестування спрощується, а розробники можуть швидше реагувати та вносити зміни.
З боку DevOps це зменшує ризики, дає можливість швидше збирати зворотний зв’язок і проводити більш часті ітерації.
Частота розгортання вимірює загальну швидкість команди розробки. Це середня кількість готового коду в день в заданому середовищі.
Щоб пояснити цю метрику DevOps простими словами, уявіть магазин. Ви можете додавати 1 товар щодня, показуючи, що в магазині з’являється новий асортимент. Клієнти бачать це і можуть дати зворотний зв’язок, наприклад, сказавши, подобається їм товар чи ні. А можете раз на тиждень оновити відразу всю полицю. Клієнт побачить зміни тільки через тиждень, і зворотний зв’язок дасть рідше.
Чим частіше відбуваються розгортання, тобто додавання готового коду в робоче середовище, тим вище показник метрики DevOps.
Час підготовки змін
Ця DORA DevOps Metrics показує швидкість, з якою команда випускає код. Було прийнято рішення внести зміни. Це точка відліку. Далі вимірюється час, за який код доставляється до користувача, тобто розгортається.
Наприклад, є завдання додати кнопку на сайт. Рішення прийнято, завдання поставлено на розробку. Скільки часу пройде до моменту, поки кнопка з’явиться на сайті? Ця метрика DevOps дозволяє порахувати та зрозуміти:
- наскільки складне завдання;
- чи має сенс подібне завдання надалі;
- чи можна автоматизувати цей процес;
- яка ймовірність ризиків і помилок.
Простіше кажучи, ця метрика допомагає зрозуміти, як швидко ідея перероджується в цінність для клієнта.
Вимірювання частоти відмов
Куди ж без багів і помилок? Ця метрика DevOps як суддя. Її роль — зберігати баланс між частотою оновлень і кількістю проблем, які можуть виникати.
Велика кількість релізів — це добре. У цьому нам допомагає перша метрика. Але що, якщо з 20 релізів 3 створюють проблеми. Настільки, що додаток перестає працювати або виникають серйозні помилки.
Це називається частота відмов. І саме ця метрика DevOps дозволяє зрозуміти відсоток частоти відмов. У нашому прикладі при 20 релізах 3 провальних, значить, частота відмов 15%. Багато це чи ні? Вирішує DevOps інженер.
Метрика враховує 2 фактори:
- наскільки швидко ви оновлюєте код;
- наскільки якісно відбувається оновлення.
Тут повинен бути баланс, і ця DORA Metrics DevOps допомагає в прийнятті рішень.
Вимірювання часу відновлення
Ця метрика, в першу чергу, безпосередньо впливає на гроші бізнесу. MTTR, вона ж Mean Time to Recovery показує, скільки часу потрібно команді розробки, щоб усунути проблему в продакшені.
Приклад: Посеред дня сайт вийшов з ладу, і користувачі не можуть купити товар. Через 20 хвилин DevOps помічає проблему і передає її розробникам. Команда оперативно усуває поломку, на це йде 70 хвилин. І сайт вже знову працює, все добре.
MTTR в такому випадку — 90 хвилин. Тобто це метрика, яка рахується з моменту ламання до моменту повного її усунення і відновлення.
Чому це важливо: якщо ця DORA Metrics DevOps погана (наприклад, ваші конкуренти усувають поломки у 2 рази швидше), то бізнес втрачає клієнтів, гроші, репутацію.
Висновок
Метрики DevOps дуже важливі в розробці. Їх насправді набагато більше, але орієнтуватися в першу чергу потрібно на 4 ключові показники.