Why Feature Flags Should Be Treated as Production Infrastructure

https://hackernoon.imgix.net/images/rFEf998JlIV9oTkRjdZ6AkZO6RE2-q2039s1.jpeg

Beginning with a very simple concept - to turn on/off new functionality using a switch - many developers use feature flags to prevent needing to deploy the application again.

The initial implementation may seem harmless at this stage (see below):

if (featureFlags.newCheckout) { return <NewCheckout />;}return <ExistingCheckout />;

However, as the product evolves, there will be more and more parts of the system controlled by feature flags, including but not limited to: checkout flow, pricing experimentation, onboarding experience, migrating APIs, changing navigation, adding payment methods, and emergency shutdown mechanisms.

Once you reach this level, they are no longer simply conditional statements within your codebase. The feature flag is now part of your application's production infrastructure.

Thus, treating them as such will significantly alter how development teams design, operate, monitor, and eventually remove these switches.

Feature Flags Change Production Behavior

Changing the codebase to what's in production changes what code exists...

Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE

Read more