Skip to content

Что такое Feature Flags

Коротко:

Feature Flags (feature toggles) — mechanism включения/выключения функций в runtime без deploy. Code: if (flags.isEnabled("new-checkout")) { ... }. Позволяет: gradual rollout, A/B testing, kill switch для broken features, targeted release (только beta users, RU segment). Tools: LaunchDarkly ($), GrowthBook (open-source), Unleash, ConfigCat, feature-service build own.

Ниже: подробности, пример, смежные термины, FAQ.

Подробности

  • Release flags: progressive rollout %
  • Experiment flags: A/B test 50/50
  • Kill switch: emergency disable feature
  • Permission flags: user/tenant-based access
  • Ops flags: on/off for infrastructure (circuit breaker)

Пример

// LaunchDarkly example
import { LDClient } from 'launchdarkly-node-server-sdk'
const ld = LDClient.init(sdkKey)
if (await ld.variation('new-checkout', user, false)) {
  return renderNewCheckout()
}

Смежные термины

Больше по теме

Часто задаваемые вопросы

Зачем нужны если есть canary?

Canary — деploy-time gradual. Feature flags — runtime toggle. Flags живут дольше (недели): progressive rollout + experiments + kill switch.

Debt feature flags — проблема?

Да. Old flags захламляют code. Лучшая practice: TTL на flag, auto-reminder в PR review через 30 дней.

Open-source tools?

GrowthBook (free + paid), Unleash (free for 1 project), Flipt. LaunchDarkly — premium SaaS.