Жизненный цикл DevOps
Непрерывный характер DevOps приводит к тому, что специалисты используют бесконечный цикл, чтобы показать взаимосвязь фаз жизненного цикла DevOps. Несмотря на внешнюю последовательность цикла, он символизирует необходимость постоянного сотрудничества и итеративного совершенствования на протяжении всего жизненного цикла.
Этапы жизненного цикла DevOps
Жизненный цикл DevOps состоит из восьми этапов, причем в левой части бесконечного цикла представлены процессы, возможности и инструменты, необходимые для разработки, а в правой — для эксплуатации. На каждом этапе команды ведут совместную работу и взаимодействуют для поддержания согласованности, скорости и качества.
1) Исследование
Разработка ПО — это работа в команде. При подготовке к предстоящему спринту команды должны провести семинар, чтобы изучить идеи, систематизировать их и расставить приоритеты. Идеи должны соответствовать стратегическим целям и удовлетворять потребности клиентов. Направлять работу команд DevOps помогает методика agile.
2) Планирование
Чтобы повысить скорость и качество, команды DevOps должны применять методики Agile. Agile — это итеративный подход к управлению проектами и разработке ПО, который помогает командам разбивать работу на более мелкие части и поставлять результаты отдельными порциями.
3) Разработка
Git — это бесплатная система управления версиями с открытым исходным кодом. В ней реализована отличная поддержка ветвлений, слияний и перезаписи истории репозитория. Благодаря этому появилось множество инновационных и эффективных рабочих процессов и инструментов, предназначенных для совершенствования процесса разработки.
4) Интеграция
Непрерывная интеграция (Continuous integration, CI) позволяет нескольким разработчикам помещать код в один общий репозиторий. При слиянии изменений выполняется автоматическое тестирование для проверки правильности кода перед интеграцией. Слияние и тестирование кода часто помогают командам разработчиков убедиться в качестве и предсказуемости развертываемого кода.
5) Развертывание
Непрерывное развертывание (Continuous deployment, CD) позволяет командам часто и в автоматизированном режиме выпускать в рабочую среду новые возможности. Кроме того, команды могут использовать при развертывании флажки возможностей, чтобы поставлять пользователям новый код постепенно и методично, а не весь сразу. Такой подход увеличивает скорость, производительность и стабильность работы команд разработчиков ПО.
6) Эксплуатация
Управляйте комплексным предоставлением ИТ-услуг клиентам. Это касается методик, связанных с проектированием, внедрением, настройкой, развертыванием и техническим обслуживанием всей ИТ‑инфраструктуры, которая обеспечивает поддержку услуг организации.
7) Наблюдение
Быстро выявляйте и решайте проблемы, которые влияют на время безотказной работы, скорость и функциональные характеристики продукта. Автоматически уведомляйте команду об изменениях, опасных действиях и сбоях, чтобы можно было продолжать предоставление услуг.
8) Непрерывная обратная связь
Команды DevOps должны оценивать каждый релиз и создавать отчеты для улучшения будущих релизов. Имея непрерывную обратную связь, команды могут совершенствовать свои процессы и учитывать отзывы клиентов для повышения качества последующих релизов.