VOOZH about

URL: https://thenewstack.io/moving-to-the-cloud-presents-new-use-cases-for-feature-flags/

⇱ Moving to the Cloud Presents New Use Cases for Feature Flags - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2021-12-02 06:23:30
Moving to the Cloud Presents New Use Cases for Feature Flags
feature,sponsor-launchdarkly,sponsored,sponsored-event-coverage,
CI/CD / DevOps / Observability / Security / Software Development

Moving to the Cloud Presents New Use Cases for Feature Flags

Feature management tools can help show how a given feature behaves in production and gain insights into how users interact with it.
Dec 2nd, 2021 6:23am by Charles Humble
👁 Featued image for: Moving to the Cloud Presents New Use Cases for Feature Flags
Featured image via Unsplash.
LaunchDarkly sponsored this post. Insight Partners is an investor in LaunchDarkly and TNS.
While not a new concept — the oldest blog post I can find about successfully using feature flags is from Flickr and now more than a decade old — commercial feature management and experimentation products are relatively new when compared to other DevOps technologies such as continuous integration (CI) and continuous delivery (CD), having only come onto the market in the past half-decade or so. Feature flags work by encapsulating code within an if statement and then having a process, such as reading a value from a configuration file, to determine whether the conditional value is true or false. This example, taken from the LaunchDarkly documentation for Java, shows what this looks like:
LDUser user = new LDUser("user@test.com");

boolean showFeature = client.boolVariation("your.feature.key", user, false);

if (showFeature) {

// application code to show the feature

}

else {

// the code to run if the feature is off

}
Of course, this is easy enough to do with a home-grown solution, but leading feature management vendors such as LaunchDarkly, AB Tasty and Optimizely add a range of capabilities on top, such as advanced audience targeting, management for progressive releases, security and privacy capabilities, and tooling to manage the lifecycle of feature flags. Combined, these capabilities enable the precisely controlled, gradual rollout of a feature to either a given percentage or segment of users, thereby separating deployment from release. Feature management can thus be used to gain a better understanding of how a given feature behaves in production, become confident with its implementation, and gain insights into how users interact with it in a gradual and controlled manner. During her keynote at the recent Trajectory conference, LaunchDarkly CEO and co-founder Edith Harbaugh gave an example, based on the classic DevOps infinity loop, to illustrate how this works: a feature is given first to internal users, before gradually ramping up a release to more and more external users, thus enabling both testing in production and canary deployment.
👁 diagram showing how feature management works

How features are released to internal users and then increasingly to external ones, allowing for testing both in production and via canary deployments. (Diagram courtesy of LaunchDarkly)

Testing in Production

Testing in production used to be somewhat controversial, carrying connotations of cowboy programming and sloppy QA. And, as stated by Cindy Sridharan, a distributed systems engineer and O’Reilly author, it does require real care to do it safely:

“[B]eing able to successfully and safely test in production requires a significant amount of automation, a firm understanding of the best practices as well as designing the systems from the ground up to lend themselves well toward this form of testing.”

However, it has significant advantages when done correctly. Sridharan has said:

I’m more and more convinced that staging environments are like mocks – at best a pale imitation of the genuine article and the worst form of confirmation bias.

It’s still better than having nothing – but “works in staging” is only one step better than “works on my machine”. — Cindy Sridharan (@copyconstruct) March 16, 2018
By contrast, testing in production enables your QA team to gain real-world insights about how a given feature actually performs. It can also highlight unexpected problems in other parts of an application that can be hard to stub out, or to replicate elsewhere. The use of tools like feature flags mean that if issues are encountered in the process — for example, the new feature causes some performance degradation, or a drop in customer engagement — a feature can instantly be switched out, simply by turning the flag off, without user disruption or the need to re-deploy. This process can be automated using signals from monitoring and observability tooling such as Datadog and Honeycomb, switching off a feature if a particular threshold is reached, without the need for manual intervention.

Feature Flags as Technical Debt

Of course, a less desirable but natural outcome of inserting feature flags into source code is the accumulated technical debt that comes from it. As feature flags become more pervasive, touching more elements of the stack, both the risk and the level of technical debt can rapidly grow. In light of this, it is important, when considering a vendor-based solution, to factor in what the product offers to allow better management of flags. A recent Forrester Wave report on feature management and experimentation singled out LaunchDarkly for particular praise in this area. The LaunchDarkly product includes the ability to run analytics to make it easier for development teams to see if a flag is in use, functionality called code references. “Once you’ve spotted a flag that is no longer needed, you can pinpoint the repository and line of code within a few clicks to remove it from the code base,” Ravi Tharisayi, senior director of product marketing at LaunchDarkly told The New Stack. This functionality is complemented by some suggestions on how to manage the removal of flags from a work item and process point of view.

Infrastructure as a Feature

Whilst typically used for code-only features and UX experiments, the shift to the cloud and the rise of infrastructure as code has opened up additional use cases. “In a cloud world where the layers of the stack are so intertwined, you can take that concept and really expand the scope of what a feature is, applying those same concepts down to the infrastructure layer,” Tharisayi said. During her talk at Trajectory, Harbaugh described LaunchDarkly’s own database migration, where the vendor moved from an environment based on Postgres and MongoDB to CockroachDB. By running both the legacy and new databases in parallel, the LaunchDarkly team was able to reduce the risk of errors, and could monitor the application performance through each step of the migration. Moreover, customer support agents could gain insights into which version of the database a particular customer was on, enabling a more efficient troubleshooting process. As Charlie Custer noted on the CockroachDB blog, this approach offers further advantages,  including time for learning:

“[S]hifting to a new database system can require some shifts in thinking, particularly if you’re moving from a legacy, single-node system to a modern, multicloud, multiregion distributed system. It’s essential that you give your team the time and space to experiment and make those shifts — and that, in turn, is only possible if you’re taking a phased migration approach and starting with less critical workloads that allow you a bit of a margin for error.”

This same phased approach — a variation on the strangler pattern — can also be used for migrating from a monolith to a microservices-based architecture, and other types of re-platforming activity.
Unleash developer productivity for the software-powered world by fundamentally changing how you deliver software to your customers. With LaunchDarkly’s feature management platform, empowered developers can empower the business to release new features faster and more efficiently than ever. LaunchDarkly and TNS are under common control.
Learn More
The latest from LaunchDarkly
“We had a customer that moved their lambda processing to AWS’ new Graviton2 processor,” Tharisayi told The New Stack. “Using feature flags, they were able to test out whether that service was able to save them money. This is at a layer that is deeper than what you think about when you typically think about features.” In a sense, this ties back to the infinity loop. The journey to the cloud is never really done; as new services become available with a given cloud provider the ability to use feature flags as a way of trying those services out in a low-risk manner can help developers continuously optimize their whole application, including its architecture and the underlying infrastructure on which it runs.
Unleash developer productivity for the software-powered world by fundamentally changing how you deliver software to your customers. With LaunchDarkly’s feature management platform, empowered developers can empower the business to release new features faster and more efficiently than ever. LaunchDarkly and TNS are under common control.
Learn More
The latest from LaunchDarkly
TRENDING STORIES
Charles Humble is a former software engineer, architect and CTO who has worked as a senior leader and executive of both technology and content groups. He was InfoQ’s editor-in-chief from 2014-2020, and was chief editor for Container Solutions from 2020-2023....
Read more from Charles Humble
LaunchDarkly sponsored this post. Insight Partners is an investor in LaunchDarkly and TNS.
SHARE THIS STORY
TRENDING STORIES
Amazon Web Services, Honeycomb and MongoDB are sponsors of The New Stack.
TNS owner Insight Partners is an investor in: LaunchDarkly, Pragma, Optimizely, Honeycomb.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.