Что такое blue-green deployment?

Middle
490 просмотров
AFK Offer AI

Blue-green deployment — стратегия, при которой ты держишь два одинаковых окружения: blue (текущий прод) и green (новая версия). Трафик идёт на blue, а green спокойно деплоится и тестируется. Когда green готов — переключаешь балансировщик, и green становится продом.

Откат — просто переключение обратно на blue. Это быстрее, чем rollback деплоя, потому что старая версия уже запущена и проверена.

Минусы: нужно в 2 раза больше ресурсов (два полных окружения), сложность с миграциями БД (обе версии должны работать с одной схемой), сессии пользователей могут потеряться при переключении.

На практике blue-green часто реализуют через DNS-переключение, nginx upstream или Kubernetes service selector. Для баз данных используют backward-compatible миграции — добавляют новые колонки, но не удаляют старые до полного перехода.

Следующий вопрос

Что такое air (live reload)?