9 Best Practices for Release Management
Download Ebook![9 Best Practices for Release Management](https://images.prismic.io/launchdarkly/065139c1-0976-4194-ae3b-4aeb447d7175_23_06_9%20best%20practices_mock.png?ixlib=gatsbyFP&auto=compress%2Cformat&fit=max&w=736&h=877)
Deploying release management feature flags
The two most common deployment models to use are ring deployments and percentage-based deployments.
1. Ring deployment
Jez Humble introduced the concept of a ring deployment in his book “Continuous Delivery.” In this scenario, different groups gradually receive the feature to manage the risk of deployment. Users for each group are selected based on a set of similar attributes or an opt-in process. Then make features available to the selected groups.
For example, release to internal users first, then beta users, and then to all users:
![](https://images.prismic.io/launchdarkly/9c5af410-8845-4d2c-b3ae-87cce190bd2f_9-bp-release-ring-deployment.png?ixlib=gatsbyFP&auto=compress%2Cformat&fit=max)
2. Percentage deployment
The selection of who receives a new feature occurs randomly in a percentage-based deployment. The new feature rolls out to 10% of users, then 25%, then 50%, until all users receive the new feature. These deployments are useful when you cannot run a beta program or have little variation in your targeted user base.
Suppose you run a small, B2B application with the same 1,000 monthly active users. In that case, a percentage-based release is likely to give you an accurate estimate of whether the full rollout will have a positive or negative impact on your user base.
Some companies automate percentage-based rollouts, gradually increasing the number of users receiving the new feature. The rollout is terminated if there are too many errors or if a response time exceeding a set threshold occurs.
You can combine ring and percentage-based deployments. You first would deploy with selected groups and then use a percentage-based deployment to roll out to the remainder of your user base.