Overview
This guide explains the concepts behind deployment and release strategies made possible by feature flags and feature management. In this guide, we’ll explore:- The difference between deployment and release
- Different deployment and release patterns
- How to use metrics to track performance
- How to determine flag longevity
- How to avoid technical debt
Prerequisites
To complete this guide, you must have the following prerequisites:- Basic understanding of software delivery patterns, including deployment and release
- Knowledge of your organization’s release process
- Proficiency and understanding of LaunchDarkly’s flag targeting features, including segmentsTo learn more about segments, read Segments.
Concepts
You should understand the following concepts before you read this guide.Deployment and release
It’s easy to use deployment and release interchangeably, but in a feature-flagging or continuous-delivery environment, they have distinct meanings. It’s useful to understand the differences between them so you can understand the following patterns more clearly.- Deployment is the process of putting executable code in its final destination. This might be on a server, a client, or any other place the code will run. Deployment is usually controlled by a technical team, a release manager, or an automated process.
- Release is the moment when end users get access to new code or features in order to serve a business objective. Releases can involve many instances of deployment, and may or may not affect all end users of your product. Releases are often run by product or marketing teams. Using feature flags to deploy code without releasing it publicly is the original meaning of the phrase “dark launching.” When you do a dark launch, your new code or feature is present in your codebase, but not available to everyone. The flags you use for dark launches are temporary tools to help you make sure that the features you release are reliable, stable, and behaving the way you want. After you fully deploy and release a feature, you can remove these flags. To learn more about different use cases for feature flags, read Creating flags.