Feature Flags — A Simple Breakdown

Feature Flags — also Feature Toggles — basically give you the ability to choose between alternative features (and code paths!) at runtime.
There are a bajillion ways to categorize them, but most of them fall into some variant of
  • • Release Flags — Ship in-progress work that isn’t turned on
  • • Experiment Flags — Ship multiple versions of the component to support A/B testing
  • • Ops Flags — Support enabling/disabling components for reliability purposes
  • • Permission Flags — Enable/disable feature for specific customers, usually for revenue purposes
Yes, there is a tremendous amount of overlap in the above, and yes, the same component might migrate through the above flags in its life cycle (°). The key is to remember that, the above categories are more about who manages and benefits from the configuration — Permission Flags might be managed by Sales, Experiment Flags by Product, etc.
Keep this in mind as you’re building out your products — bake them in early, and don’t, _for lords sakes don’t! — forget to remove them when you’re done!
(°) More — much much more — on this at https://goo.gl/Ama08p

Comments

Popular posts from this blog

Erlang, Binaries, and Garbage Collection (Sigh)

Spot The Difference — Deep Learning Edition