TGViewer
Downtime Bar&Grill Downtime Bar&Grill @downtime_bar · 1K subscribers
Post #231 442
Про деплои и ковбоев

Canary Deployment (Канареечный деплой)
Назван по аналогии с "канарейками в шахтах", по реакции которых шахтеры оценивали безопасность шахт. В современных реалиях птичками становится небольшая группа пользователей, которая первой взаимодействует с новой версией. Обычно выкатывается на 1-5% трафика, затем, если всё стабильно, — идет расширение: 10%, 25%, 50%, 100%. Весь процесс контролируется по метрикам: ошибки, латентность, бизнес-показатели (например, конверсии).

Преимущества:
⚪️Контролируемый риск: баги влияют на ограниченное число пользователей
⚪️Гибкость: можно медленно масштабировать rollout, давая больше времени на оценку
⚪️Аналитика и A/B тесты: канареек на проде может быть несколько , что позволяет собирать поведенческие данные и проводить тесты
⚪️Быстрый откат: достаточно выключить канареечный сегмент

Недостатки:
⚪️Сложная маршрутизация трафика: нужен продвинутый механизм маршрутизации на уровне балансировщика нагрузки, API Gateway, ingress controller и т.д.
⚪️Две версии одновременно: увеличивает затрату ресурсов на мониторинг, логирование и дебага
⚪️Сложности с совместимостью данных: если новая версия использует требует изменение в схеме данных — нужен продуманный backward-совместимый подход

Когда использовать:
✔️Продукты с большим числом пользователей и частыми релизами
✔️Критичные бизнес-функции, где важно протестировать поведение на реальных данных
✔️Развёртывания с продвинутой системой мониторинга (Prometheus, NewRelic, Datadog и т.п.)


Blue-Green Deployment
В рамках этого подхода поддерживаются две идентичные среды: например Blue (текущая, продакшн) и Green (новая). Green разворачивается и тестируется в фоне. Когда готова — трафик плавно переключается на неё (через DNS, LB, ingress). Если возникли проблемы — откат осуществляется моментальным возвратом на Blue.

Преимущества:
⚪️Мгновенный rollback: просто переключение обратно
⚪️Изоляция версий: Blue и Green полностью независимы (избегается смешение)
⚪️Чистота среды: новая версия тестируется в production-like окружении до релиза
⚪️Запас по мощности: в случае резкого роста нагрузки Blue и Green объединяются и система способна держать до 2х нагрузки

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

Когда использовать:
✔️Когда важна предсказуемость и атомарность деплоя
✔️В системах, где легче задублировать окружение, чем поддерживать сложную логику маршрутизации
✔️Когда релизов немного, но они крупные и требуют подготовки

Читать вторую часть

#полезныематериалы @downtime_bar
  • 👍 4
  • 🤗 2
  • ❤ 1
More from @downtime_bar
  1. Sep 23, 2026Зарегистрироваться и подключиться: https://fournines.timepad.ru/event/4181137/ Если опозда…
  2. Sep 22, 2026Всем привет! У нас радостная новость - в нашем с вами канале первая тысяча человек, с кото…
  3. Sep 21, 2026Начинаем новую неделю! Уже послезавтра пройдет первая из серии встреч по базам данных и SR…
  4. Sep 20, 2026Рубрика воскресный рекомендасьон. Если есть желание почитать что-то очень прикладное и при…
  5. Sep 19, 2026Сезон встреч и конференций продолжается Performance Conf собиралась уже двенадцатый раз и…
  6. Sep 16, 2026Вчера внезапно собрались на ламповый межусобойчик в славном городе Липецке, в помещении Сб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →