Головні принципи та практики DevOps | nt.ua

Головні принципи та практики DevOps

Лютий 22, 2021 devops devops інженер
DevOps practices

Для занурення в роль DevOps інженера необхідно повністю розуміти, на яких принципах працює DevOps і які практики використовуються на всіх стадіях розвитку продукту. Нижче ми зібрали головні принципи та практики, які будуть корисні як компаніям, так і DevOps фахівцям.

Принципи DevOps

При становленні культури DevOps були сформовані 5 основних принципів, які впливають на процес розробки, запровадження та підтримки продукту. Фахівці коротко називають ці принципи CALMS, які розшифровуються як:

  • Culture (Культура) – створення спільного інформаційного простору для комплексної та ефективної роботи команд і фахівців з різною спеціалізацією. Принцип також означає відкриту комунікацію для якісної розробки, тестування та впровадження продукту.
  • Automatization (Автоматизація) – автоматизація всіляких завдань для спрощення робочого процесу та підвищення якості продукту. При цьому впроваджується технологія безперервного розгортання ПЗ.
  • Lean (Ощадливість) – можливість постійного аналізу процесів і виключення тих процесів, які уповільнюють розробку та знижують ефективність. Це допомагає швидше знаходити помилки, виправляти їх і тестувати нові можливості й інструменти.
  • Measurement (Вимірювання) – принцип має на увазі, що проводиться оцінка частоти появ помилок, тривалості використання продукту споживачами та інших критеріїв продуктивності для поліпшення продукту.
  • Sharing (Обмін) – розділена відповідальність за помилки й успіхи розробки та впровадження продукту. Робота девелоперів та інших фахівців тісно пов'язана. Чим краще вони взаємодіють, тим краще проходять цикли проекту.

6 практик DevOps

Тепер давайте розглянемо 6 головних практик, які використовують DevOps інженери у своїй роботі. Серед них:

Continuous Integration (CI)

Основна мета CI – інтегрування коду різних розробників в одну базу. Це допомагає:

  • прискорити постачання, адже зміни можна відразу ж внести в базу та не чекати релізу;
  • знизити ризики, адже можна код перевірити на наявність помилок і відразу ж їх виправити;
  • оптимізувати ресурси, адже правильний код в базі можна впроваджувати в інші проекти та прискорювати процес розробки. А значить девелопери швидше створять код в іншому проекті.

Automated Testing (AT)

Практика AT завжди корисна, якщо ви хочете підвищити рівень продуктивності вашої команди. Важливо пам'ятати, що Автоматичне тестування буває різних видів і вирішує певні завдання.

  • Unit-тести допомагають протестувати окремі модулі. Вони зазвичай короткі та запускаються частіше за інших;
  • Інтеграційні тести визначають, як різні модулі інтегруються між собою;
  • UI automation тести показують відповідність роботи UI певним вимогам клієнта. Вони зазвичай тривають кілька годин, але обходяться дешевше, ніж якби в компанії працював Junior QA-інженер.

Continuous Deployment (CD)

Раніше тільки розробники використовували безперервне розгортання. Але тепер ця практика активно застосовується для автоматизації впровадження змін в конфігураціях. За допомогою CD можна оптимізувати ресурси й автоматизувати процес постачання без особливого втручання спеціаліста.

Automated Recovery (AR)

Автоматичне відновлення необхідно з однієї простої причини. Уявіть, що ви розгортаєте продукт, але з'явився баг. За допомогою AR можна зробити відкат до попередньої версії, щоб користувачі могли продовжити використовувати продукт. У девелопера буде час виправити баг, протестувати виправлення та знову повернути останню версію.

Infrastructure as Code (IaC)

Іншими словами, девелопери будуть ставитися до конфігурації додатків також, як і до коду. Для цього використовуються спеціалізовані інструменти автоматизації (Chef, Puppet й інші). В результаті з'являється можливість оптимізувати використання ресурсів і скоротити час постачання.

Application Performance Monitoring (APM)

На сьогодні APM може стати сильним інструментом для контролю стану програми. Девелопери більше не витрачають багато часу на аналіз логів, а налаштовують певну метрику та стежать за змінами. За допомогою такого моніторингу можна і контролювати технічні моменти, і збирати важливі внутрішні характеристики додатки.


Вивчіть основи на 5-денному курсі NT-DevOps «DevOps методології, вибір платформи і інструментів реалізації». Крім нього, Навчальний центр «Мережні Технології» пропонує ще й інші курси з принципів і практик DevOps.

Детально щодо реєстрації, курсів, програм до них і форматів навчання можна дізнатися у менеджера НЦ.