Skip to content
11 / 13

Постепенная выкатка фронтенда: canary, флаги и эксперименты на edge

У фронтенда выкатка сложнее серверной: клиент уже загружен у пользователя, и «откатить» его нельзя — можно только перестать отдавать новую версию новым сессиям. Отсюда три уровня управления. Canary по трафику: часть запросов к HTML получает новую версию, остальные старую; распределение делают на edge по стабильному ключу (кука или хеш идентификатора), чтобы пользователь не прыгал между версиями внутри сессии. Флаги функциональности: новая функциональность едет в бандле выключенной и включается конфигурацией — это позволяет выкатывать код и включать функцию разными действиями и мгновенно выключать без деплоя. Эксперименты: A/B с разделением на edge, где вариант фиксируется в куке и попадает в ключ кэша, иначе CDN отдаст один вариант всем. Обязательное дополнение — метрики по версии и варианту: доля ошибок, Core Web Vitals и продуктовая метрика, иначе «выкатили на 5%» ничего не значит.

Постепенная выкатка фронтенда: canary, флаги и эксперименты на edge | JScriptiser