Progressive rollouts

Overview

This topic explains what progressive rollouts are and why you might use them to release new features incrementally.

To learn how to create a progressive rollout, read Creating and managing progressive rollouts.

What happens when a progressive or guarded rollout starts or stops

Progressive rollouts and guarded rollouts use randomized traffic allocation to determine which contexts receive a new variation. Before you create a rollout, it’s important to understand how context targeting behaves when stopping and restarting the rollout.

If you stop a progressive rollout or guarded rollout and later create a new one on the same flag and variation, LaunchDarkly may serve the variation to a different set of contexts than in the original rollout. This happens because each new progressive or guarded rollout independently assigns contexts to receive the variation, based on the selected randomization unit.

This behavior is different from percentage rollouts, which retain the same set of contexts when you stop and restart them. The same contexts continue to receive the variation, provided the flag configuration and context kind remain unchanged.

About progressive rollouts

Progressive rollouts are an option on a flag’s targeting rule in a given environment. A progressive rollout serves a given flag variation to a specified percentage of contexts, and gradually increases that percentage over a specified time.

Use progressive rollouts if you want to randomly allocate traffic by context kind, and automatically increase the amount of traffic to a specific flag variation over time. For example, if you are changing the color scheme on your landing page from a “red” variation to a “purple” variation, you might use progressive rollouts to gradually increase the percentage of customers receiving “purple” from 1% up to 100% in a series of steps over 20 hours:

A progressive rollout configuration on a default rule.

A progressive rollout configuration on a default rule.

As the rollout progresses, the flag variation that any particular customer receives changes only once. Customers who are not yet part of a rollout step receive the From that you set. In the example above, all customers are initially receiving the “blue” variation, and they will all eventually receive the “yellow” variation. You do not have control over when in the course of the rollout this occurs for a specific customer. After they start receiving the “yellow” variation, they will never receive the “blue” variation again, unless you explicitly stop the progressive rollout and update your flag rule to serve “blue” to everyone.

You can create a progressive rollout on any flag targeting rule, as long as there are no other progressive rollouts, guarded rollouts, or experiments running on the flag and the flag is not a migration flag.

Progressive rollouts are one of several options that LaunchDarkly provides to help you release features to production safely and gradually. To learn about other options for releasing features, read Releasing features with LaunchDarkly.