Feature Flag: Roll Out & Roll Back without Deployment
Published in
Feb 10, 2017
What is Feature Flag?
Martin Fowler said:
The basic idea is to have a configuration file that defines a bunch of toggles for various features you have pending.
Also known as feature toggle, feature switch, feature flipper, conditional feature.
Pros
- Test in Production
- Clear & Fast Delivery Time
- Easy Dog Fooding
- Fast Roll Back
- Simple A/B Test
Cons
- Uncooperative Members
- Too Big Changes to Use Feature Flag
- Obsoleted Feature Flags are Debts
- Dependency on Each Feature Flags
No feature flag can be better
- Brand New API
- Clear & Tiny Changes
- Fixing a bug that makes something worthless
Libraries
- Feature Flags in Java: Togglz, FF4J, Fitchy, Flip
- Feature Flags in Python: Gargoyle, Gutter
- Feature Flags in .NET, C#: FeatureSwitcher, NFeature, FlipIt, FeatureToggleNET, List on NUget, FeatureBee
- Ruby on Rails: rollout, feature_flipper, flip, setler, switches, FluidFeatures
- Refer to http://enterprisedevops.org/feature-toggle-frameworks-list/