Since 2014, LaunchDarkly has pioneered a software development practice called Feature Management, which allows customers to use feature flags at scale to deploy new features faster with less risk. Feature flags allow LaunchDarkly's customers to deliver a specific feature to some or all users, knowing they can roll back in milliseconds without affecting user experience or breaking SLAs for uptime. Since its founding, the company has relied on the purging and shielding features of Fastly's edge cloud platform to meet and exceed customer expectations, even during periods of exponential traffic growth. In its ongoing quest for speed, LaunchDarkly looked to Fastly's Compute@Edge platform to see if they could achieve additional performance gains while evaluating 20 trillion feature flags daily.
Location: Oakland, CA
Customer since: 2014
LaunchDarkly saw a significant opportunity to improve performance for customers using its software development kit (SDK) in polling mode. Fast response times are critical for overall page-load times. In several locations around the world, LaunchDarkly measured initialization rates at greater than one second, caused by needing to run logic at the origin for their flag management service. Some regions were simply too far away to be highly performant. If clients with global customer bases were concerned that users would experience excessive latency, they might hesitate to use feature flags for certain use cases. The feature flagging service needed to be closer and faster.
"We want our customers to be able to use feature flags anywhere, in any application, with no compromises in security, performance, or resilience,” said Jonathan Nolen, Senior Vice President of Engineering and Product. Moving to Compute@Edge gave them that power, enabling LaunchDarkly to cut latency from hundreds of milliseconds to tens of milliseconds anywhere in the world.
LaunchDarkly built Flagbearer@Edge, which moved flag evaluation to the edge, with Compute@Edge as its foundation. Most requests to Flagbearer@Edge will get a response from one of Fastly's geographically distributed POPs rather than traveling back to the US-based origin. Since introducing Flagbearer@Edge, LaunchDarkly has measured an impressive cache hit rate of 98%. More importantly for LaunchDarkly's customers, average initialization time is down to 25 milliseconds.
The LaunchDarkly team had been considering adding these capabilities to its platform for a long time. Nolen said that they wanted to solve the problem of geographically distributing the flag evaluation piece of their architecture. When the company learned about Compute@Edge, that problem was solved.
Compute@Edge gave LaunchDarkly a ready-made solution. While LaunchDarkly has deployed parts of their infrastructure around the world already, they realized that being as globally distributed as Fastly wouldn't happen without a lot of time, effort, and expense. Leveraging Fastly’s globally distributed network allowed LaunchDarkly to move quickly to provide the benefits of Flagbearer@Edge to customers. Now up to 100% of production polling traffic is served using Compute@Edge.
“Building infrastructure always ends up being more difficult than anyone imagines it will,” software engineer Andrew Brown said. Adopting Compute@Edge meant that the team didn't spend much time worrying about the infrastructure piece of the design and could instead invest that effort elsewhere.
A team of LaunchDarkly engineers built a proof of concept for using Compute@Edge and got it up and running relatively quickly after confirming it was possible in some early prototyping, a testament to the ease of onboarding. Nolen and Brown say the reliability of Compute@Edge has only confirmed their choice.
"We’ve not had any issues. [Fastly’s Compute@Edge] has been very stable. We haven’t had to make changes. It does what it says on the tag." Jonathan Nolen, Senior Vice President of Engineering and Product
One of the reasons LaunchDarkly could move quickly was Fastly’s Enterprise Support. Taking on a new technology like Compute@Edge can present challenges, but Brown and Nolen say that Fastly support was present and available throughout the implementation process and beyond to make sure things keep running smoothly.
"It's been clear to us that LaunchDarkly's success is very important to the team at Fastly,” Brown said. “We've felt strongly supported and got our questions answered very quickly in Slack.”
But their favorite thing about using Compute@Edge is just knowing that it will work correctly, without requiring constant maintenance. That gives them time to keep thinking up new ways to make developers' lives easier and their deliveries faster.
"The thing I like best about Fastly is that it just works...That’s the kind of infrastructure I’d like to rely on." Jonathan Nolen, Senior Vice President of Engineering and Product
"We have plenty of other things that alert us and disturb us from our sleep. Fastly isn't one of them." Andrew Brown