What are Feature Flags?
Feature Flags are a technique in software development that allows modifying runtime behavior without changing code. It decouples the release of functionality to the end users from the rollout of the binaries.
Feature Flags work like a switch or toggle and are, therefore, often called Feature Toggles or Feature Switches because of their Boolean nature. But Feature Flags can have many different use cases and can be more complex than a toggle. That's why the term Feature Flag is more suitable.
Feature Flags allow you to encapsulate new code behind a Feature Flag and roll it out to the production system. The feature can then be enabled based on the context for a given target audience only (see Figure 10.1):
Feature Flags are a very natural technique for developers if you have continuous delivery available and a separate team that is responsible for the infrastructure. It's easier...