Blue-Green deployment — strategy с двумя identical production environments: Blue (current live) и Green (new version). Load balancer switches traffic 100% на Green для deploy, revert мгновенно если что-то сломалось. Plus: zero downtime, instant rollback. Minus: double infrastructure cost во время deploy, DB schema migrations сложны (обе versions должны работать на одной DB).
Ниже: подробности, пример, смежные термины, FAQ.
Бесплатный онлайн-инструмент — проверка HTTP-заголовков: результат мгновенно, без регистрации.
# nginx load balancer switch
upstream backend {
server 10.0.0.1:8080; # Blue
# server 10.0.0.2:8080; # Green (commented until deploy)
}
# After deploy: swap comments, nginx -s reloadBlue-Green deployment предлагает несколько ключевых преимуществ:
Однако у Blue-Green deployment есть и недостатки:
Blue-Green deployment широко используется в различных сценариях:
Для реализации Blue-Green deployment можно использовать следующие инструменты:
Blue-Green deployment отличается от других стратегий деплоя, таких как Canary deployments и Rolling deployments:
Blue-Green deployment обеспечивает более высокий уровень надёжности и контроля, но требует дополнительных затрат на инфраструктуру и более сложной настройки. Выбор стратегии деплоя зависит от конкретных требований и целей проекта.
Rolling: update pods одна по одной (K8s default). Blue-green: 2 full envs + swap. Blue-green safer для stateful, rolling простой для stateless.
Во время deploy — yes (часы). Нет необходимости держать постоянно — create Green at deploy time, destroy after success.
Schema должна быть backwards-compatible (не drop columns, не rename). Forward-compatible: add nullable columns, defaults.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.