Получить доступ

Чем canary-выкатка принципиально отличается от blue-green?

MiddleВыкатка и миграции
Ещё спрашивают так:
  • Что такое canary-релиз?
  • Что такое blue-green deployment?
Коротко

Blue-green — второй полный комплект и переключение всего трафика разом: мгновенный откат, но ошибку сразу видят все. Canary — новая версия на малую долю трафика, сравнение метрик и постепенное расширение.

  • Canary ограничивает «радиус поражения», но требует наблюдаемости с разрезом по версии
  • Blue-green требует двойных ресурсов на время переключения
  • В обоих случаях база общая — схема должна быть совместима с обеими версиями

А ещё Автоматический анализ canary (Argo Rollouts, Flagger) — остановка по метрикам без человека

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Blue-green. Рядом с работающим окружением (blue) поднимается полное новое (green). После проверки балансировщик переключает весь трафик на green. Откат — переключение обратно, секунды. Плюсы: простота, быстрый откат, возможность прогреть и проверить новую версию до переключения. Минусы: двойные ресурсы, дефект после переключения сразу у всех пользователей, долгие соединения (WebSocket) нужно переносить.

Canary. Новая версия получает 1–5% трафика, затем 10, 25, 50, 100% с паузами. На каждом шаге сравниваются метрики новой версии с базовой (доля ошибок, задержка, бизнес-метрики). Хуже — откат, лучше или так же — продолжаем. Плюсы: дефект затрагивает малую долю, экономия ресурсов. Условия: метрики с разрезом по версии, достаточный трафик для статистики, автоматика решения (Argo Rollouts, Flagger, Spinnaker).

Общее требование — совместимость с данными: база, брокер, кэш общие для обеих версий.

Rolling update — частный случай без анализа: экземпляры заменяются постепенно, но решение о продолжении не принимается по метрикам.

Что хотят услышать

  • Механика каждого подхода.
  • Ключевое различие: все разом против доли с анализом.
  • Требования: двойные ресурсы против наблюдаемости по версиям.
  • Общая база и совместимость схемы.

Частые ошибки

  • Делать canary без сравнения метрик по версиям.
  • Считать, что blue-green позволяет не думать о совместимости схемы.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Canary ограничивает радиус поражения: новую версию видит малая доля пользователей, и её метрики сравнивают с базовой линией
  • ✗Canary не требует, чтобы версии были совместимы по схеме данных
  • ✗Canary дешевле по ресурсам, потому что не требует запуска новой версии
  • ✗Blue-green не позволяет откатиться, а canary позволяет

Что спросят дальше

  • Когда вы выберете blue-green вместо canary?
  • Что должно автоматически останавливать раскатку канарейки?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем