Saturday, February 1, 2025

Feature Gate

A feature gate is a mechanism to configure which features are visible to users without changing application code. You might also hear them called feature flags or feature toggles.

When to use feature gates

Feature gates are commonly used as on/off switches to turn a certain system behavior on or off in production. They may be used:

  • to enable certain features for a percentage of the total user base, for example, A/B testing
  • to gradually ramp up a software release across the user base to limit the impact of any unanticipated system behavior
  • to limit a new feature to specific users before the feature is ready for general availability in production
  • to quickly turn off a particular feature for all users
  • to target a specific set of users thereby implementing whitelisting
Statsig uses the term feature gates, as they act as a "gatekeeper" to new features.

Other Uses

In Kubernetes, feature gates are a set of key=value pairs that describe Kubernetes features. You can turn these features on or off using the --feature-gates command line flag on each Kubernetes component.

Microsoft Azure .NET provides the FeatureGate attribute that can be placed on MVC controllers, controller actions, or Razor pages to require all or any of a set of feature flags to be enabled.

No comments:

Post a Comment