Simply put, Feature Flag (FF) is a parameter that enables/disables specific features in your application. As a real-world example, a service could have a feature to cache some data to avoid making unnecessary database calls. Here, a feature flag, in its simplest form, can be a static configuration parameter, say cache.isEnabled
, of boolean type. You can learn more about FF and types of it on Martin Fowler's invaluable blog post.
What I want to put a stress on is that FF is not a fancy thing or something you would hold up like a future plan. As soon as you deploy a new feature on your production environment, you'll need to have them ready. This gets even more crucial when you've deployed several features over time and all of a sudden, during an emergency or as a business call, you'd want to disable one of them; that cannot be neatly done by just reverting some deployment and not losing other features.
About Regular Encounters
I've decided to record my daily encounters with professional issues on a somewhat regular basis. Not all of them are equally important/unique/intricate, but are indeed practical, real, and of course, textually minimal.
Top comments (2)
If any readers are looking for a feature flag management service, Flagsmith is an open source tool for just that - flagsmith.com/
Checked it out. Seems interesting.