Что такое непрерывная поставка?

Непрерывное предоставление ценности стало обязательным требованием для организаций. Чтобы обеспечить ценность конечным пользователям, необходимо постоянно выпускать и без ошибок.

Непрерывная доставка (CD) — это процесс автоматизации сборки, тестирования, настройки и развертывания из сборки в рабочую среду. Конвейер выпуска может создавать несколько сред тестирования или промежуточных сред для автоматизации создания инфраструктуры и развертывания новых сборок. Последовательные среды поддерживают постепенно более длительные действия по интеграции, загрузке и тестированию принятия пользователей.

Illustration of how continuous delivery automates the flow to production..

До CD циклы выпуска программного обеспечения были узким местом для групп приложений и операций. Эти команды часто зависят от ручной передачи, которые привели к проблемам во время циклов выпуска. Процессы вручную привели к ненадежным выпускам, которые приводили к задержкам и ошибкам.

CD — это бережная практика, с целью обеспечения актуальности рабочей среды с самым быстрым путем от нового кода или доступности компонентов к развертыванию. Автоматизация сводит к минимуму время развертывания и времени для устранения (TTM) или времени для устранения рабочих инцидентов (TTR ). В кратных терминах CD оптимизирует время процесса и устраняет время простоя.

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

Дополнительные методики инфраструктуры как кода (IaC) и мониторинга упрощают cd.

Прогрессивные методы воздействия

CD поддерживает несколько шаблонов для прогрессивного воздействия, также называемого "контролем радиуса взрыва". Эти методики ограничивают воздействие на развертывания, чтобы избежать проблем с общей базой пользователей.

  • CD может последовательность нескольких кругов развертывания для прогрессивного воздействия. Кольцо пытается развернуть в группе пользователей и отслеживает их взаимодействие. Первое кольцо развертывания может быть канарной для тестирования новых версий в рабочей среде перед более широким развертыванием. CD автоматизирует развертывание из одного круга в следующее.

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

  • Развертывание blue/green зависит от сохранения существующей синей версии в режиме реального времени при развертывании новой зеленой версии. Эта практика обычно использует балансировку нагрузки для прямого увеличения объема трафика к зеленому развертыванию. Если во время мониторинга обнаруживается ошибка, трафик перенаправляется на оставшееся синее развертывание.

  • Флаги функций или переключатели функций — это еще один способ экспериментирования и темных запусков. Флаги компонентов включите или отключите функции для различных групп пользователей на основе удостоверений и членства в группах.

Современные конвейеры выпусков позволяют командам разработчиков развертывать новые функции быстро и безопасно. Cd может быстро устранить проблемы, обнаруженные в рабочей среде, перенаправив развертывание. Таким образом, CD создает непрерывный поток ценности клиента.

Следующие шаги