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

  • Manage application features

  • 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 } } ] } }

Â