What are feature flags?
Feature flags (toggles) are switches that let you enable or disable functionality without deploying code. They enable gradual releases, production testing, and instant rollbacks.
Common strategies
- Release toggle: enables a feature for a percentage of users.
- Experiment toggle: used for A/B testing.
- Ops toggle: controls operational features (maintenance mode).
- Permission toggle: enables features based on user role.
Simple implementation
const featureFlags = {
newCheckout: process.env.FLAG_NEW_CHECKOUT === 'true',
};
if (featureFlags.newCheckout) {
return newCheckoutController(req, res);
}
return oldCheckoutController(req, res);
LaunchDarkly
Enterprise feature flag platform. Offers user targeting, segmentation, percentage rules, and audit trails.
Unleash
Open source alternative. Offers flags with strategies, user activation, gradual rollout, and WebHooks.
Best practices
- Temporary flags: remove them when the feature is stable.
- Descriptive and consistent names.
- Monitoring: usage metrics for each flag.
- Avoid nested flags (exponential complexity).
Want to implement feature flags? At Vynta we design gradual release strategies.