Стратегии выката
Стратегия задаётся для каждого окружения отдельно. Сменить её можно между выкатами без пересборки артефакта.
Rolling
Версия заменяется постепенно, по одному экземпляру. Подходит для тестовых окружений и сервисов без строгих требований к согласованности версий.
environments:
staging:
strategy: rolling
max_unavailable: 1
Blue-green
Новая версия поднимается рядом с текущей и получает трафик целиком после успешной проверки готовности. Прошлая версия остаётся горячей в течение окна отката.
environments:
production:
strategy: blue-green
readiness_path: /healthz
keep_previous: 30m
| Параметр | По умолчанию | Описание |
|---|---|---|
readiness_path | — | Путь проверки готовности новой версии |
readiness_timeout | 2m | Сколько ждать готовности до отмены выката |
keep_previous | 15m | Как долго прошлая версия остаётся доступной для мгновенного отката |
Canary
Трафик переводится ступенями. После каждой ступени платформа выдерживает окно наблюдения и сверяет метрики с порогами; при нарушении выкат останавливается и запускается откат.
environments:
production:
strategy: canary
steps: [5, 25, 50, 100]
step_interval: 10m
analysis:
error_rate_max: 1.0
p95_latency_max_ms: 450
Про длительность. Полный canary из четырёх ступеней с интервалом 10 минут занимает не менее 30 минут. Окно наблюдения не расходует минуты сборки — тарифицируются только фазы установки и сборки.
Сравнение
| Стратегия | Даунтайм | Скорость отката | Стоимость ресурсов |
|---|---|---|---|
| Rolling | Нет | Средняя | Базовая |
| Blue-green | Нет | Мгновенная | Двойная на время выката |
| Canary | Нет | Мгновенная | Базовая + доля новой версии |