TGViewer
DevFM DevFM @devfm · 3.04K subscribers
Post #320 1.2K
Стратегии деплоя

Новую версию приложения можно выкатить по-разному. В статье Six Strategies for Application Deployment перечислено аж 6 стратегий деплоя. Какую выбрать – зависит от ситуации, золотой пули нет. Помимо описания самих стратегий автор приводит достоинства и недостатки каждой. Эти знания окажутся очень полезными, когда придется делать выбор в пользу какой-то одной. А ещё каждая из стратегий сопровождается наглядной анимацией. В общем, всё для людей.

Теперь о стратегиях.

Recreate – самый топорный вариант. Старая версия приложения гасится, новая запускается. Вот так стратегия :)

Rolling-update – постепенно выкатываются инстансы приложения с новой версией, по мере выкатки трафик переключается на них, старые инстансы постепенно гасятся.

Blue/Green – рядом с уже запущенным приложением запускается копия с новой версией, после некоторых health checks трафик полностью переключается на новую версию, а старая гасится.

Canary – почти как Blue/Green, только после выкатки новой версии сначала на неё пускается небольшое количество трафика. Убеждаются в стабильности работы и переключают весь трафик. После этого старая версия гасится.

A/B testing – как Canary, только обычно применяется для принятия некоторых бизнес-решений. Пользователей, которых направят на новую версию приложения, выбирают по некоторым условиям. Например, на новую версию направляются пользователи с определённой геолокацией или определённым браузером.

Shadow стратегия самая трудоёмкая для реализации. Рядом со старой версией выкатывается новая версия приложения и весь трафик дублируется на неё. То есть пользователь продолжает работать со старой версией, а мы можем посмотреть, как себя ведёт новая версия. Подвох заключается в том, что при использовании такой стратегии нужно не забыть замокать взаимодействие с третьими сервисами новой версии приложения. Иначе, например, с карточки пользователя может случайно списаться одна и та же сумма дважды :)

Здесь мог быть некоторый вывод, когда какую стратегию использовать, но лучше сделать этот вывод самостоятельно, изучив все доводы. В комментариях к посту приложена сравнительная таблица.

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

#skills
The New Stack Six Strategies for Application Deployment There are a variety of techniques to deploy new applications to production, so choosing the right strategy is an important
  • 👍 7
  • 🌭 4
  • ❤ 3
  • 🔥 2
More from @devfm
  1. Sep 27, 2026Багфикс по расписанию AI врывается в разные этапы SDLC. Сейчас экспериментирую с автоматиз…
  2. Sep 25, 2026Попробуйте Herdr По долгу службы я использую самые разные инструменты и какое-то время экс…
  3. Sep 19, 2026ММММолния! В последнем обновлении Claude Code добавили поддержку AGENTS.md! Это настоящий…
  4. Sep 17, 2026Код пишется быстро, а што с ревью Я как-то уже бухтел на тему код-ревью. Но мир так быстро…
  5. Sep 15, 2026Не пишите аислопный текст, пожалуйста-препожалуйста. Код супер активно пишется агентами и…
  6. Sep 14, 2026Что там с кодинговыми агентами Я тут немного пропустил, а JetBrains поделились результатам…
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 →