Статьи
Обучающие материалы
Интерактивные руководства
Рекомендации 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 сосредоточьтесь на сотрудниках и процессах, а затем включайте в работу продвинутые инструменты, интеграцию и функциональные возможности, когда станете зрелой командой.
Поделитесь этой статьей
Следующая тема
Рекомендуемые статьи
Добавьте эти ресурсы в закладки, чтобы изучить типы команд DevOps или получать регулярные обновления по DevOps в Atlassian.