Innovate
Your Software
Faster without Risk

FeatBit, a Fast & Scalable Open Source Feature Flags Management Tool built with .NET; Ideal for Self Hosting.
Table of Contents

Innovate Your Software Faster without Risk

A Fast, Scalable, and Open-source Feature Flags Management Service. For Cloud & Self-hosting.

Real-World Examples of Using Feature Flags for Migration

Last updated date:

Teams often use feature flags (also known as feature toggles) as a kill switch for features, for testing in production, and for canary releases to mitigate the risk of deploying new features. However, feature flags can also be used for migrations; the reasoning is the same: to mitigate migration risk and reduce migration time and cost.

Much has been said about using feature flags for migration, including dual writes, dual reads to migrate databases, and using feature flags to transition your infrastructure to the cloud. However, here I will simply show you two recent real-world examples.

Linear - How we redesigned the Linear UI

Tuomas Artman in Linear has post a tweet about how they use feature flags to incrementally work on new functionalities. In that post, it told that the new design was implemented using 430 feature flags. During the entire process they were able to easily switch between new and previous designs.

Following the tweet, we found more detail about their the redesign process via their blog post Linear – How we redesigned the Linear UI (part Ⅱ). In Linear's UI redesign, feature flags played a key role in testing and transitioning to the new design. After establishing the initial redesign concept, the team used feature flags to control who could access the new design for internal testing and feedback. This allowed them to iterate quickly and receive early feedback from various teams. Once they refined the design through internal testing, they gradually rolled it out to a limited audience in a private beta before releasing it to all users. This approach helped minimize disruption and ensure a smooth transition to the new UI.

Canva - From Zero to 50 Million Uploads per Day: Scaling Media at Canva

I have read a blog post From Zero to 50 Million Uploads per Day: Scaling Media at Canva written by Canva (Bytebase transited to me),

Canva's blog article discusses how the company scaled its media infrastructure to handle 50 million uploads per day. The article outlines various technical challenges faced during this journey, such as the need for a robust storage system, handling a high volume of data, and ensuring fast response times.

Feature flags played a crucial role in this process. Canva used them to control and test the migration from MySQL to DynamoDB, enabling them to isolate changes and switch between systems if needed. This flexibility allowed for safer experimentation, incremental deployment, and quick rollback in case of errors. For more insights into Canva's scaling journey and use of feature flags, you can read the original blog post​.

Conclusion

Here are two real-world examples that demonstrate the migration challenges faced and the solutions designed. Feature flags were part of these solutions, even if they were only a small piece of the puzzle. However, they played a crucial role in mitigating migration risks, reducing migration time, and lowering costs. Without feature flags, a safe migration wouldn't have been possible.

I highly recommend reading the original blogs to gain more insight into how feature flags were used in migration.