Migration from Home-Grown Feature Flags to LaunchDarkly

Rick Riensche
Nov 30, 2020 · 8 min read

Overview

PlanGrid is a part of Autodesk’s Construction Cloud. We are constantly introducing new features, which means we rely heavily on feature flags. As a startup, we used a home-grown feature flag system. It worked well at first but was limited in functionality and scalability, and we ended up outgrowing it and migrated from our old system to LaunchDarkly. In this post, we’ll describe how we made that transition seamless, decreased our internal maintenance workload, and achieved faster and more consistent response times for our applications in the bargain.

Background & Motivation

To set the stage for our migration journey, we should talk briefly about the beginning. PlanGrid was founded in 2012. In the early startup years, infrastructure and systems were constantly evolving. One of those evolutions included introducing feature flags to manage phased rollouts of functionality and providing user or project level entitlement to specific features. We needed something basic, cheap, and quick, and built our own feature flag management system, “Flipper,” which we’ll describe a bit more later. Fast forward several years, and Flipper had experienced significant growing pains, to the point where a near-complete rewrite had even been started (and subsequently scrapped due to performance concerns). As an organization, we had outgrown our homemade system. Still, as luck would have it, we became part of Autodesk, and our new parent company had an existing relationship with LaunchDarkly.

Flipper

Flipper itself was a relatively simple system (in theory). Feature flag data was stored in a Redis repository. There was no “User Interface” in the traditional sense; rather, users interacted with Flipper via a dedicated Slack channel. A bot listened for commands and relayed the relevant instructions to the back-end system.

Image for post
Image for post

Migration

We hold a bi-annual “Hackweek,” during which everyone converges on our San Francisco HQ, drops whatever they’re working on, and, well.. hacks. It’s a time to try out wild new ideas or to scratch at things that have been itching in the backs of our brains for months. Flipper itself had been built during an earlier Hackweek, and it was during another Hackweek several years later that the migration from Flipper to LaunchDarkly began.

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Benefits

So we’ve pretty well covered the “what.” Let’s talk about the “why.” What did we get out of this?

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Future

Now that we have fully transitioned our backend services, we are looking at ongoing improvements such as having our mobile client applications interface directly with LaunchDarkly, vs. having them go through our backend services as “middleware.” This will further reduce the load on our services and enable the use of features like richer targeting options.

About the Author

Rick Riensche is a Senior Software Engineer in Autodesk Construction Solutions’ Backend Platform Team. He joined Autodesk in February 2019, following a long tenure at a National Laboratory where he served as a Research Scientist and Software Engineer. He holds a Ph.D. in Computer Science from Washington State University (GO COUGS!), and his numerous hobbies include Python, feature flags, long walks on the beach, electric guitar, and video games.

PlanGrid Technology

We share best practices, new technology, and captivating…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store