Введение
Сине-зеленое развертывание — это метод, используемый для выпуска новых версий приложения с нулевым временем простоя. При таком подходе создаются две идентичные среды: одна активная (синяя) и неактивная (зеленая). Новая версия приложения развертывается в неактивной среде, а затем трафик переключается с рабочей среды на неактивную. Это позволяет протестировать новую версию перед запуском и позволяет быстро откатиться в случае возникновения проблем.
Предпосылки
Прежде чем приступить к сине-зеленому развертыванию, вам потребуется следующее:
- Две идентичные среды, одна живая и одна неактивная
- Балансировщик нагрузки, который может переключать трафик между двумя средами.
- Стратегия развертывания, которая может обрабатывать переключение трафика между средами.
Процесс развертывания
Вот пример базового сине-зеленого процесса развертывания:
- Разверните новую версию приложения в неактивной среде (зеленая)
- Убедитесь, что новая версия корректно работает в неактивной среде.
- Переключить трафик из активной среды (синий) в неактивную среду (зеленый)
- Убедитесь, что новая версия правильно работает в реальной среде.
- Списать старую версию приложения в неактивной среде
Настройка балансировщика нагрузки
Балансировщик нагрузки является критически важным компонентом сине-зеленого процесса развертывания. Он должен иметь возможность беспрепятственно переключать трафик между средами. Вот пример того, как настроить Amazon Web Services (AWS) Elastic Load Balancer для сине-зеленого развертывания:
- Создайте две целевые группы: одну для активной среды (синяя) и одну для неактивной среды (зеленая).
- Настройте правила прослушивателя в балансировщике нагрузки, чтобы направить трафик в целевую группу активной среды (синяя).
- При развертывании новой версии приложения разверните ее в целевой группе неактивной среды (зеленая).
- После проверки новой версии измените правила прослушивателя, чтобы направить трафик в целевую группу неактивной среды (зеленая).
Преимущества сине-зеленого развертывания
Существует несколько преимуществ использования сине-зеленой стратегии развертывания:
- Нулевое время простоя: сине-зеленое развертывание гарантирует отсутствие простоев в процессе развертывания. Это означает, что пользователи могут продолжать использовать приложение без перерыва.
- Простой откат: если в новой версии приложения обнаружена проблема, можно легко вернуться к старой версии, просто переключив правила балансировки нагрузки обратно в рабочую среду (синий).
- Низкий риск: благодаря тестированию новой версии в неактивной среде (зеленый цвет) перед запуском риск проблем в рабочей среде значительно снижается.
Заключение
В этом руководстве мы узнали, как настроить базовую сине-зеленую стратегию развертывания. Сине-зеленое развертывание — это мощный метод выпуска новых версий приложений с нулевым временем простоя и низким риском. Используя этот подход, вы можете обеспечить удобство работы пользователей в процессе развертывания и свести к минимуму риск возникновения проблем в рабочей среде.