Катим в прод | Александр Калыргин
15.01
Как обеспечить доступность сервиса при релизе? 🤔
Неприятно, когда любимый сервис тормозит или вообще не работает. Недоступность сервиса — это всегда большой репутационный риск для бизнеса, который регулируется соглашением об уровне обслуживания (SLA). Оно и понятно: каждый хочет, чтобы его сервис был доступен 100% времени, но обеспечить такие показатели очень сложно, а главное — дорого. 💸
Как выполнить развертывание новых версий сервисов максимально незаметно для пользователей, сократив время простоя до минимума? Один из вариантов — воспользоваться подходом сине-зеленого развертывания (blue-green deployment). 🌱
Смысл подхода заключается в запуске двух идентичных производственных сред — синей и зеленой. Представим, что синий — это текущая версия приложения, а зеленый — новая версия. При релизе начинается постепенная маршрутизация небольшой доли трафика пользователей на зеленую версию, в то время как остальные продолжают использовать синюю версию. 🔄
Процент трафика, направляемого на зеленую версию, можно постепенно увеличивать, чтобы оценить ее производительность и стабильность. Если в процессе внедрения обнаруживаются проблемы, можно быстро вернуться к синей версии, переключив маршрутизацию обратно. Когда зелёная версия успешно пройдет тестирование и получит одобрение, трафик полностью переключается на неё. ✅
➕ Плюсы: — Минимизация времени простоя приложения. Поскольку новая версия развертывается параллельно с активной, переключение между версиями может быть мгновенным. — Быстрая возможность отката. Если при релизе новой версии возникают ошибки, можно быстро переключить трафик на предыдущую версию.
➖ Минусы: — Большие затраты на инфраструктуру. Держать два экземпляра сервисов требует значительных ресурсов. — Сложности при переключении. В некоторых случаях приложение может хранить состояние или данные в памяти, которые нужно синхронизировать между старым и новым приложениями.
еще контент в этом сообществе
еще контент в этом соообществе
Катим в прод | Александр Калыргин
15.01
войдите, чтобы увидеть
и подписаться на интересных профи