Введение

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

Предпосылки

Прежде чем приступить к сине-зеленому развертыванию, вам потребуется следующее:

  • Две идентичные среды, одна живая и одна неактивная
  • Балансировщик нагрузки, который может переключать трафик между двумя средами.
  • Стратегия развертывания, которая может обрабатывать переключение трафика между средами.

Процесс развертывания

Вот пример базового сине-зеленого процесса развертывания:

  1. Разверните новую версию приложения в неактивной среде (зеленая)
  2. Убедитесь, что новая версия корректно работает в неактивной среде.
  3. Переключить трафик из активной среды (синий) в неактивную среду (зеленый)
  4. Убедитесь, что новая версия правильно работает в реальной среде.
  5. Списать старую версию приложения в неактивной среде

Настройка балансировщика нагрузки

Балансировщик нагрузки является критически важным компонентом сине-зеленого процесса развертывания. Он должен иметь возможность беспрепятственно переключать трафик между средами. Вот пример того, как настроить Amazon Web Services (AWS) Elastic Load Balancer для сине-зеленого развертывания:

  1. Создайте две целевые группы: одну для активной среды (синяя) и одну для неактивной среды (зеленая).
  2. Настройте правила прослушивателя в балансировщике нагрузки, чтобы направить трафик в целевую группу активной среды (синяя).
  3. При развертывании новой версии приложения разверните ее в целевой группе неактивной среды (зеленая).
  4. После проверки новой версии измените правила прослушивателя, чтобы направить трафик в целевую группу неактивной среды (зеленая).

Преимущества сине-зеленого развертывания

Существует несколько преимуществ использования сине-зеленой стратегии развертывания:

  • Нулевое время простоя: сине-зеленое развертывание гарантирует отсутствие простоев в процессе развертывания. Это означает, что пользователи могут продолжать использовать приложение без перерыва.
  • Простой откат: если в новой версии приложения обнаружена проблема, можно легко вернуться к старой версии, просто переключив правила балансировки нагрузки обратно в рабочую среду (синий).
  • Низкий риск: благодаря тестированию новой версии в неактивной среде (зеленый цвет) перед запуском риск проблем в рабочей среде значительно снижается.

Заключение

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