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.
// 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 — деploy-time gradual. Feature flags — runtime toggle. Flags живут дольше (недели): progressive rollout + experiments + kill switch.
Да. Old flags захламляют code. Лучшая practice: TTL на flag, auto-reminder в PR review через 30 дней.
GrowthBook (free + paid), Unleash (free for 1 project), Flipt. LaunchDarkly — premium SaaS.