Feature Flags for Beginners

What they are, how they help, and when to use them.

Download Ebook
Feature Flags for Beginners

How are feature flags deployed?

How you choose to deploy feature flags depends on several factors, including:


  • The size of your engineering team
  • How often you release code to production
  • How many flags you want to deploy
  • Whether you want to build or buy

Based on these factors, your options for deploying feature flags start with using a configuration file to store global application settings. If a single feature needs to be “on” or “off” for all users, putting it in a config file is a straightforward way to deploy.

If you have more than a couple of flags or you need more granular controls, you may opt to deploy flags via a database. When you manage flags from a database, features can be targeted to individual users. You can also make modifications to user targeting without having to restart or re-deploy services.

You may opt to deploy using an open source solution. Open source solutions allow for user segmentation, targeting, and controlled feature rollouts, but they are often specific to a language or stack. If your application uses multiple languages, you may need to deploy multiple solutions for complete coverage.

You may also use some sort of homegrown feature flag system that pulls from various elements of the above and addresses needs specific to your company. The challenge with homegrown systems is your team will end up babysitting the tool and performing all its maintenance, and if you go through a period of scale you'll likely run into issues.

A final deployment option is to use an enterprise feature management solution like LaunchDarkly. When you have needs such as role-based access controls (RBAC), audit logs, or use cases including experimentation or entitlements, it’s best to deploy a comprehensive feature management solution.