Close

Рекомендации DevOps

DevOps требует изменения культуры, автоматизации процессов и вложения в правильные технологии

Портрет Тома Холла
Том Холл

Консультант и специалист по DevOps


В число рекомендаций DevOps входит гибкое управление проектами, «сдвиг влево» в контексте CI/CD, автоматизация, мониторинг, возможность наблюдения и непрерывная обратная связь.

Что такое DevOps?


DevOps проще всего определить как фактор развития бизнеса, который расширяет взаимодействие и сотрудничество между командами по разработке и эксплуатации, чтобы повысить скорость и качество развертывания ПО. Это новый метод ведения работы со значительными последствиями для организаций и их команд.

Важность DevOps


Внедрение DevOps требует перестройки бизнес-структур и процессов, однако цель оправдывает затраченные усилия. По данным опроса «Тенденции DevOps» за 2020 год, 99 % респондентов считают, что методика DevOps принесла пользу их организациям.

Другое исследование DevOps («Отчет по состоянию DevOps» за 2019 год, опубликованный DORA) показало, что высококлассные команды выпускают релизы в 208 раз чаще и в 106 раз быстрее, чем команды с низкой эффективностью. Кроме высокой скорости выхода на рынок DevOps также обеспечивает повышение качества: процент неудачных изменений, выпущенных высококлассными командами, в семь раз ниже по сравнению с командами с низкой эффективностью.

Значок: взаимозамкнутые круги
Связанные материалы

Начните работу бесплатно

Значок: награда
Связанные материалы

Подробнее о преимуществах DevOps

Рекомендации по внедрению DevOps


Управление проектами по гибкой методологии Agile

Agile — это итеративный подход к управлению проектами и разработке программного обеспечения, который помогает командам быстрее и с меньшими проблемами поставлять ценность клиентам. Agile-команды не ждут выпуска одного большого релиза, а поставляют результаты работы небольшими порциями. Требования, планы и результаты оцениваются непрерывно, благодаря чему команды могут реагировать на обратную связь и при необходимости быстро вносить изменения.

Ниже приведены основные принципы управления проектами по методике Agile.

  • Начните с рабочего процесса, включающего четыре этапа: «Запланировано», «В работе», «Проверка кода» и «Готово». Подробнее о рабочих процессах.
  • Командам нужно разбивать крупномасштабные проекты на мелкие задачи и реагировать на изменение потребностей или области работ по мере продвижения. Подробнее о том, как использовать эпики, истории и темы для определения области и структуры работы.
  • Как вы планируете, отслеживаете и измеряете порции работы? Основными фреймворками для команд, следующих принципам agile, являются Scrum и Kanban.

​​​​​​​«Сдвиг влево» в контексте CI/CD

Когда команды выполняют «сдвиг влево», они вводят тестирование в процессы разработки кода на ранней стадии. Вместо отправки множества изменений отдельной команде тестировщиков или контроля качества в процессе написания кода запускаются различные тесты, чтобы разработчики могли исправить ошибки либо внести улучшения во время работы над соответствующим разделом базы кода. В основе «сдвига влево» лежит метод непрерывной интеграции и непрерывной поставки (CI/CD) и развертывания. Подробнее о CI/CD.

​​​​​​​Выбор подходящих инструментов

В пакете инструментов DevOps должны быть подходящие инструменты для каждого этапа жизненного цикла DevOps, с помощью которых можно повысить качество программного обеспечения и скорость поставки. Узнайте больше о том, как выбрать инструменты DevOps для каждого этапа жизненного цикла DevOps, а также изучите их функциональные возможности.

​​​​​​​Внедрение автоматизации

Непрерывная интеграция и поставка позволяют разработчикам регулярно выполнять слияние кода с главным репозиторием. Вместо того чтобы проверять код вручную, в рамках CI/CD происходит автоматизация процесса, от объединения обновлений в пакеты в заданном окне до частых коммитов. Кроме CI/CD для успешного внедрения DevOps нужна автоматизация тестирования. Автоматизированные тесты могут включать сквозное, модульное и интеграционное тестирование, а также тесты производительности. Узнайте больше об автоматизации процессов разработки ПО. Подробнее об автоматизации.

​​​​​​​Мониторинг конвейера DevOps и приложений

Важно следить за конвейером DevOps, чтобы неудачная сборка или провал теста не приводили к ненужным задержкам. Автоматизация значительно ускоряет разработку, но если в автоматизированном процессе происходит сбой и никто об этом не знает, лучше делать работу вручную. Кроме того, важно контролировать приложения в рабочей среде, чтобы выявлять сбои и понижения эффективности раньше, чем об этом сообщат клиенты.

​​​​​​​Возможность наблюдения

Поскольку в отрасли случился переход от монолитных локальных систем и приложений к облачным приложениям на базе микрослужб, мониторинг стал значительно сложнее. Как следствие, возрос интерес к обеспечению возможностей наблюдения. Когда дело касается возможностей наблюдения, часто говорят о трех основных принципах — журналах, трассировках и показателях. Журналы создаются в большинстве системных компонентов и приложений и содержат временные ряды данных о работе системы или приложения. Трассировки отслеживают логический поток в приложении. Показатели включают резервирование или использование ЦП/оперативной памяти, дисковое пространство, сетевые подключения и многое другое. Возможность наблюдения предполагает использование всех трех источников информации для анализа и прогнозирования работы сложной системы, чего трудно достичь иными средствами. Подробнее о возможностях наблюдения.

​​​​​​​Непрерывная обратная связь

Непрерывная обратная связь позволяет участникам команды своевременно получать всю информацию, необходимую для выполнения работы. Для разработчиков это значит, что команду сразу же оповещают о любых сбоях в работе конвейера. Кроме того, при таком подходе разработчики в кратчайшие сроки получают четкие и подробные результаты тестирования кода. Для команды по управлению продуктом преимущество состоит в том, что ее участникам доступны сведения обо всех сбоях в рабочей среде, понижениях эффективности и обнаруженных ошибках. В прошлом бытовало мнение, что команда разработчиков может оптимизировать скорость либо качество, но не все вместе. Непрерывная обратная связь — один из элементов DevOps, который делает возможным и то, и другое.

​​​​​​​Изменение культуры

Для DevOps нужны сотрудничество, прозрачность, доверие и эмпатия. Если ваша организация — одна из тех немногих, где эти качества уже сформировались, вашим командам будет довольно просто внедрить методы DevOps. В противном случае потребуются определенные усилия, чтобы развить эти качества. Наиболее распространенные организационные структуры являются разобщенными. Это означает, что у каждой команды есть своя область владения и ответственности, а общение и сотрудничество между ними минимальны. Для успеха DevOps нужно расширить взаимодействие с помощью принципа «кто разработал, тот и поддерживает». Это не означает, что больше не будет специалистов или профильных команд. Просто теперь каналы общения и сотрудничества между командами окажутся открыты и востребованы. Подробнее о развитии командной культуры.

Совершенствование методов DevOps — постоянный процесс. В начале внедрения DevOps сосредоточьтесь на сотрудниках и процессах, а затем включайте в работу продвинутые инструменты, интеграцию и функциональные возможности, когда станете зрелой командой.

Tom Hall
Tom Hall

Том Холл — специалист по DevOps и евангелист этой методики, а также заядлый читатель и пианист-любитель.
В числе его достижений за последние 20 лет — сертификации Novell, EMC, VMware и AWS. Он помог организовать конференцию DevOpsDays в Атланте в 2016 году и в последующих годах — в Остине, штат Техас.


Поделитесь этой статьей
Следующая тема

Рекомендуемые статьи

Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.

Рисунок: DevOps

Сообщество DevOps

Рисунок: DevOps

Семинар по моделированию

Рисунок схемы

Начните работу бесплатно

Подпишитесь на информационную рассылку по DevOps

Thank you for signing up