01 Nov 2019

Experimenting with Feature Toggle

0 Comment

By: Brendon Thiede

There are many reasons that someone might point out for wanting DevOps practices, but there is one unifying goal that many of these reasons tie to: be able to out experiment the competition. We are seeing FinTech startups taking market share away from incumbents that are over one hundred years old, by trying out new hypotheses, leveraging low cost, low risk methods. When you visit Amazon’s storefront, you may be unknowingly taking part in several A/B tests at once, determining if the color, font size, or placement of a pricing label makes you more or less likely to make a purchase. Microsoft tests new features within the Azure Portal in a phased rollout, allowing them to get fast feedback from users who opt in to early features, while avoiding frustrating more conservative users.

All three of the previous use cases can be replicated using a single robust technique, known as Feature Toggle. Feature toggles, or feature flags, have been around as a concept for quite some time, but recently there has been an explosion of feature toggle services available, including Launch Darkly, Split.Io, and services built into the major cloud providers. There is even a new programming language, Dark Lang, which takes this to a whole new level, replacing deployments completely with feature flags.

While the original use cases for feature flags were often times more manual and less fine grained, current feature toggle technologies can allow you to target new functionality to specific users based on geo-location, time of day, past behaviors, or pretty much anything you can imagine. This type of flexibility allows you to deploy new code one day, then wait until the next to release the new features for use, gradually adding more and more user load, and rolling the features back if there are undesired outcomes.

While newer feature toggle services and frameworks can make it much easier to track the usage of features, leverage different targeting strategies and automate rollouts of features, there is still a lot of work that needs to go into the development process. You need to make sure that the applications using this technique are backward compatible. You may need to account for multiple versions of your software running at once.

If the use of feature toggle is something that you would like to learn more about, then I invite you to come to the Lansing DevOps Meetup on Tuesday, December 3rd, 2019, where Heidi Waterhouse, Developer Advocate at Launch Darkly will be giving “An Introduction to Feature Toggle”. You can register at https://www.meetup.com/Lansing-DevOps-Meetup/events/263926846/

About the author:

Brendon is a DevOps Platform Engineer at the Delta Dental, building internal enterprise clouds. You can find Brendon in the Lansing Codes Slack, at the Lansing DevOps Meetup the first Tuesday of each month, and you can follow his blog at

https://www.digestibledevops.com/.
[top]
About the Author