Clear Skies in the Cloud with Feature Management  featured image

LaunchDarkly was recently named #47 in Forbes’ Cloud 100, a list of top private cloud companies. This year, the combined valuation of companies on the list was double that of what it was last year, rising from $278 billion in 2020 to $514 billion in 2021. 

With increased consumption and reliance on cloud-based software accelerated by the pandemic, both the private and public cloud markets are skyrocketing. And while “cloud” may sound like an overused buzzword (cue Alexis Gay), organizations must continue to re-imagine their cloud strategies in order to meet the rate of innovation required to be competitive in their markets. 

As CEO of LaunchDarkly, I love hearing about all use cases in which teams are applying feature management. As the bar for being successful in the cloud continues to rise, I’m happy that an increasing number of customers use LaunchDarkly as a way to accelerate their migration and modernization initiatives. (I gave a talk about this at our Trajectory conference recently which you can check out here.)

From continuous delivery to continuous modernization 

The main use case for LaunchDarkly has traditionally been separating deployment from release to enable development practices of not just dark launches, but continuous delivery, trunk-based development, and testing in production. These methods help software teams deliver features to customers with more speed and less risk. 

And while these remain the most common applications of LaunchDarkly and the entry points for most customers, we’re starting to see more teams using the platform to enable infrastructure changes. I’ve seen our customers use LaunchDarkly to migrate to the cloud, refactor monolithic applications, and swap legacy middleware components like search or geolocation services for more modern vendors. At LaunchDarkly, our own engineering team used LaunchDarkly to migrate from an on-premises database to a cloud-centric one. 

What I find fascinating about this is that legacy doesn’t just refer to 40-year-old COBOL frameworks anymore. The database we replaced at LaunchDarkly would be considered a modern tool to many, but it just no longer aligned with the needs of our team. 

Even companies born in the cloud era must continuously optimize their stacks to meet the pace of innovation that the market requires. If modernization is a continuous cycle that we will never be “done” with, we ought to find an efficient and repeatable way to approach it. 

De-risking the migration 

Take our database migration for example. Had we planned to move all users to the new database service at once, we would have risked taking down the entire LaunchDarkly platform. Not to mention the stress our engineering team would have faced. 

When I was an engineering manager, we referred to this type of migration as “push and pray.” You push traffic to the new system, and pray that you don’t break things. 

If you’ve never been involved in a database migration, you might wonder, what could go wrong? And if you have gone through one, you may have blocked the memory of it from your thoughts. An error arising when shifting data and users between systems can lead to performance degradation at best and taking your whole application down and halting business at worst. Nobody wants to be responsible for that.

Finding a mechanism for avoiding this risk is a game-changer, which is why I am so excited to see teams adopting LaunchDarkly for infrastructure changes. By standing up a new system in parallel with the existing one, and using LaunchDarkly to progressively route traffic, teams can control a migration in a similar way to how they would release a feature. By precisely targeting which users experience which system, and instantly routing traffic back to the original in the event of an error, teams can replace legacy components in a way that makes sense for them and their users. And they can do this all without fear or risk. 

Value > Features 

I invented the term feature management to describe how LaunchDarkly could help teams deliver value to customers in a frictionless manner. Adding user-facing features to our applications and optimizing the platforms we use to deliver those features are equally important to the customer experiences we provide. 

My hope is that more teams will look to feature management as a way to navigate the ropes of continuous modernization and replace legacy systems in a safe and predictable manner. In the words of famed painter Bob Ross, it’s a “happy little cloud”—when you use feature management. 

You can hear more about our database migration use case in our upcoming webinar, Faster, Safer App Modernization with Feature Management. 

Related Content

More about Best Practices

November 18, 2021