Главные принципы и практики 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.

Детально о регистрации, курсах, программах к ним и формате обучения можно узнать у менеджера УЦ.