Blue-green deployment — стратегия, при которой ты держишь два одинаковых окружения: blue (текущий прод) и green (новая версия). Трафик идёт на blue, а green спокойно деплоится и тестируется. Когда green готов — переключаешь балансировщик, и green становится продом.
Откат — просто переключение обратно на blue. Это быстрее, чем rollback деплоя, потому что старая версия уже запущена и проверена.
Минусы: нужно в 2 раза больше ресурсов (два полных окружения), сложность с миграциями БД (обе версии должны работать с одной схемой), сессии пользователей могут потеряться при переключении.
На практике blue-green часто реализуют через DNS-переключение, nginx upstream или Kubernetes service selector. Для баз данных используют backward-compatible миграции — добавляют новые колонки, но не удаляют старые до полного перехода.