Feature Flags Management
Â
Intro
Feature management is a modern software-development practice that decouples feature release from code deployment and enables quick changes to feature availability on demand. It uses a technique called feature flags (also known as feature toggles, feature switches, and so on) to dynamically administer a feature's lifecycle.
Documentation
Â
Tips and Tidbits
Azure App Configuration is designed to be a centralized repository for feature flags.
You can then use the App Configuration libraries for various programming language frameworks to easily access these feature flags from your application
Feature flag: A feature flag is a variable with a binary state of on or off.
The feature flag also has an associated code block. The state of the feature flag triggers whether the code block runs or not.
Feature manager: A feature manager is an application package that handles the lifecycle of all the feature flags in an application.
The feature manager typically provides additional functionality, such as caching feature flags and updating their states.
Filter: A filter is a rule for evaluating the state of a feature flag. A user group, a device or browser type, a geographic location, and a time window are all examples of what a filter can represent.
Each feature flag has two parts: a name and a list of one or more filters that are used to evaluate if a feature's state is on (that is, when its value is
True
).A filter defines a use case for when a feature should be turned on.
The feature manager supports appsettings.json as a configuration source for feature flags.
Â
"FeatureManagement": {
"FeatureA": true, // Feature flag set to on
"FeatureB": false, // Feature flag set to off
"FeatureC": {
"EnabledFor": [
{
"Name": "Percentage",
"Parameters": {
"Value": 50
}
}
]
}
}
Â