глоссарий

Feature flag

Feature flag

Feature flag — это переключатель, который позволяет включать или отключать функциональность приложения без изменения кода и повторного развертывания. Проще говоря, это выключатель света для отдельных элементов программы: код уже загружен на сервер, но его активность контролируется конфигурацией, а не релизом.

Зачем это важно? Раньше добавление функции было событием: разработка, тестирование, выкатка на всех сразу. Если сбой — приходилось откатывать всю версию, долго и рискованно. Feature flag позволяют отделить выпуск кода от его активации. Можно тестировать на малой группе, включать постепенно, мгновенно отключать при проблемах, не затрагивая остальных.

Как это работает? Представьте здание, где в каждой комнате новые светильники. Проводка проложена, лампы вкручены, но у каждой комнаты есть отдельный рубильник. Управляющий включает свет в одной комнате, проверяет, затем включает остальные. Рубильник и есть флаг, решение принимается централизованно, часто через специальную панель.

Прикладной пример. Команда онлайн-кинотеатра создала новый алгоритм рекомендаций. Его сразу всем не включают, а прячут за флагом "new_recommendations". Сначала флаг включают для 5% зрителей и сравнивают их поведение с остальными. Если метрики хуже — флаг выключают. Если лучше — расширяют до 100%. Код уже в продакшене, но невидим большинству.

Вывод: feature flag — несложная идея, которая делает разработку гибче и безопаснее. Она позволяет управлять изменениями без паники и спешки, что важно для современных сервисов.