SYSTEM ATLASЗагрузка материала

Feature Flags

Feature Flags

Отделяет развертывание кода от включения пользовательской функции.

Простыми словами

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

Пример от @Vibeclakr

Пример при разработке

Код нового кабинета уже в проде, но флаг включён только команде. Функцию можно тестировать и выключить без срочного отката всей версии.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

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

Пример в работе

Нерабочий подход

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

Системный подход

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Feature Flags» объясняет только часть происходящего в области «Надежность и SRE». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Pete Hodgson. Feature Toggles (aka Feature Flags). 2017.

Первоисточник