Skip to main content

Progressive rollout

The Progressive Rollout solution automates the release process of new features to your users by gradually providing the flag variation you choose as the default strategy to a larger percentage of your users. This approach helps you detect problems early on and reduce the impact.

How rollout works

The flag must have two variations to use the rollout feature. For example, consider that you have a boolean flag with two variations: true and false. This flag determines whether new content is available to users or not.

Currently, the false variation is the OFF variation, meaning users can't see the new content. However, you want to make the content available to all users within ten days. In this case, you can use the rollout feature to progressively roll out the true variation to 10% of your users daily.

On the first day of the rollout, 10% of your users will see the new content. On the second day, 20% will see it, and so on. After ten days, the rollout will be complete, and all users will have access to the new content. The image below summarizes the rollout process described.

Rollout example

Creating a rollout

To add a rollout to a feature flag, you need to follow the steps below:

  1. Go to the Auto Operation tab on the feature Flag page details.
  2. Click the + Add button.
  3. Choose the Enable operation and select Progressive Rollout.
  4. Configure the rollout and submit.
Restrictions

The progressive rollout only works for flags with two variations and no running experiment.

Disabled Flag behavior

If the flag is disabled when a progressive rollout is created, the progressive rollout automatically enables the flag as soon as it starts.

Please remember that the progressive rollout will be stopped in the following actions:

  • If you disable the flag manually.
  • If a Schedule is configured to disable the flag.
  • If the Kill Switch is configured and matches the conditions to disable the flag.

The rollout provides two main options when setting it up:

  • Template: With this option, you define the percentual increment and the frequency of the rollout. The weight of each phase and the execution time are automatically defined until the rollout reaches 100%.
  • Manual: In this case, you are responsible for defining each rollout phase's percentual weight and release time.

Template rollout

If you choose to use the Template rollout, you need to define the following configurations before submitting it:

  • Variation: Choose the variation to roll out. You should not choose the same variation selected as OFF variation. Otherwise, it could affect what the end users see.
  • Start Date: The rollout starting date and time.
  • Increment: The percentual increment used at each rollout release phase. This option will define, as a result, the total number of rollout releases. If you choose 10%, ten stages are required to reach the total rollout.
  • Frequency: The frequency of each rollout phase (hourly, daily, weekly) will be released. The first phase will depend on the Start Date value you selected, and the remaining phases will rely on this starting point.

Notice that when using the Template rollout, all phases increment the percentage of users accessing the new variation by the same amount, defined by the Increment parameter. The image below summarizes an example of a configuration using the Template configuration.

Template rollout

Manual rollout

When using the Manual rollout, the configurations required to submit the rollout differ from those used on the Template rollout. In this case, you need to set the following parameters:

  • Variation: Choose the variation to roll out. You should not choose the same variation selected as OFF variation. Otherwise, you will receive an error message.
  • Weight: The percentual value of users receiving the selected variation at the selected date.
  • Execute at: The date and time when the rollout phase will be released, updating the percentage of users accessing the selected variation.

Using the Manual rollout, you do not need to follow an incremental rule for each rollout phase. The only restriction is that each new rollout phase must have a higher weight than the previous one and more than 5 minutes between the rollouts.

Another important point related to the Manual option is that you don't need to reach 100% to submit the rollout. Suppose the last entry to the Manual configuration is 90%. In this case, the rollout will be concluded, and only 90% of your users will have access to the new variation. The remaining 10% will continue receiving the OFF variation, the same as before the rollout.

The image below summarizes an example of a configuration using the Manual configuration.

Template rollout

Combining auto operations

You can combine the usage of available auto operations from Bucketeer. For example, you can define a progressive rollout, a schedule, and a event rate conditions for the same flag.

It's vital to note that turning off a flag by schedule or event rate conditions has a higher priority than the progressive rollout. Therefore, if your flag has a running progressive rollout and an Auto Operation is triggered, the system will stop the progressive rollout. The progressive rollout will be moved to the Finished tab, where you can check the last rollout state or use it as a reference for future rollouts.

Restrictions and rules

Creating and using progressive rollout features have certain restrictions to ensure smooth implementation and usage.

Restrictions when creating a rollout

The progressive rollout is designed to work exclusively with flags having two variations and no running experiment.

If you create a progressive rollout and the flag default strategy uses a rollout percentage, the existing rollout rules will be overridden. The default strategy will be reset according to the settings defined during the progressive rollout creation.

Flag type

You can use the progressive rollout with all feature flag types.

Restriction when updating a flag

If you need to update a flag that has a running progressive rollout associated with it, be aware of the following restrictions:

  • The default strategy on the Targeting tab can't be modified.
  • You're not able to add or remove variations to the flag. However, you can edit the values, names, and descriptions of the existing variations.
Updating a rollout

Updating a running progressive rollout is not supported in Bucketeer. You can delete or stop the rollout.

If you delete the rollout, no historical data will be stored. Only logs will be reported on the operations related to that rollout on the Audit Logs page.

When you stop the rollout, it will move to the finished tab, where you can check the last rollout state or use it as a reference for future rollouts.

Other Auto Operations

Progressive rollouts can be created for flags, whether they're enabled or disabled.

If either manual intervention or Auto Operations turn OFF a flag, the default strategy percentage will remain the last progressive rollout update value. Consequently, if the flag is turned back on in the future, the default strategy percentage will be the last updated value when the progressive rollout is stopped.