2023-11-14 // DEVOPS

Стратегия развертывания
без простоев

Как мы обеспечиваем непрерывную работу высоконагруженных систем при обновлении ядерных модулей.

Автор: Алексей Смирнов, Lead Architect
Время чтения: 6 мин

Blue/Green против Canary

Выбор стратегии деплоя зависит от бюджета на инфраструктуру и допустимого риска. В высоконагруженных системах мы редко используем чистый Blue/Green из-за удвоения затрат на ресурсы.

Canary-релизы (попугаи) позволяют направить 1% трафика на новую версию (Ver 2.1), проверить метрики ошибок и задержек, и только затем плавно масштабировать её до 100%. Это снижает риск сбоев для пользователей до минимума.

  • Blue/Green: 100% отказоустойчивость, 200% стоимость.
  • Canary: 99.9% безопасность, экономия ресурсов.
Схема балансировки трафика между двумя кластерами серверов
Traffic Split: 90% / 10%

Автоматизированный откат (Rollback)

Любое обновление может сломать производство. Ключ к стабильности — не предотвращение ошибок, а скорость реакции на них.

if (error_rate > 1%) {
  trigger_rollback();
}

Триггеры метрик

Мы настраиваем автоматический откат при превышении порога 5xx ошибок выше 1% или если P99 latency превышает 500мс в течение 30 секунд.

git revert

Иммуtable Infrastructure

Мы не чиним работающие серверы. При откате мы просто перенаправляем трафик на предыдущую стабильную версию (Previous Stable Build), которая всегда готова в standby-режиме.

Мониторинг в момент перехода

Во время деплоя команда следит за дашбордами в Grafana. Мы отслеживаем не только технические метрики, но и бизнес-показатели.

Если конверсия в чекаут падает, даже если сервер работает исправно — это сигнал к остановке релиза. Инженерная точность требует комплексного взгляда.

> kubectl get pods -n production
> checking health endpoints...
> [OK] /api/v1/health
> [WARN] /api/v1/payments (latency +120ms)
STATUS: STABLE
CASE STUDY // FINTECH

Кейс: Платежный шлюз "VectorPay"

Задача: обновить ядро обработки транзакций без остановки приема платежей в "Черную пятницу".

Результаты внедрения

0 мин
Простоя сервиса
15k
Транзакций/сек (RPS)
-30%
Latency P95

Мы использовали стратегию Canary с поэтапным открытием трафика: 1% -> 5% -> 25% -> 100% в течение 4 часов. На этапе 5% были выявлены аномалии в обработке валютных курсов, которые были оперативно откатлены для этого сегмента, в то время как основной трафик продолжал работать на старой версии.

Внедрить надежный деплой?

Поможем настроить CI/CD пайплайны и мониторинг под ваши задачи.