In Feature Flags management, it's useful for users to control Feature Flags automatically at specified times or when certain specific events occur.
In Bucketeer, we offer scheduling functionality with Auto Operations to specify dates and times, an event rate feature to set target thresholds for goal events, and a Progressive Rollout feature that allows you to roll out your feature gradually.
Auto Operation
Auto Operations automatically control feature flags to enable (Enable) or disable (Kill Switch) them based on specified conditions on behalf of the user.
There are a few ways to specify conditions, and the method may limit control settings.
Auto Operations | Enable | Kill Switch |
---|---|---|
Schedule | ◯ | ◯ |
Progressive Rollout | ◯ | ✕ |
Event Rate | ✕ | ◯ |
Schedule
Schedule controls flags by specifying dates and times.
Instructions
- Go to the Auto Operation tab on the Feature Flag details page.
- Click the + Add button.
- Choose the Enable operation to release or Kill Switch to disable a flag.
- Select Schedule.
- Configure the date and time. Remember, you need to select a future date and time.
- Click Submit.
Use Cases
- Specify features to release only on holidays or late in the night.
- Release new features for a specified period, such as campaign banners or special promotion dates.
- Release beta features for a certain period of time for testing purposes.
Progressive Rollout
Progressive Rollout automates releasing new features to users by gradually providing selected flag variations to more users according to the default strategy. You can configure starting dates and increase percentages using templates or manually, specifying frequency (hourly, daily, weekly). Also, you want to stop the release process anytime you need.
Instructions
- Go to the Auto Operation tab on the Feature Flag details page.
- Click the + Add button.
- Choose the Enable operation.
- Select Progressive Rollout.
- Choose Template or Manual.
- Configure the rollout and submit.
There are two ways options: Template and Manual.
Template
Automatically schedules based on the increasing percentage, frequency (hourly, daily, weekly), and start time.
Manual
Rolls out based on manual schedules configured by the user.
Note: There are some important points to consider:
- You cannot create multiple progressive rollouts.
- You cannot create a progressive rollout if an experiment is running.
- A Schedule or Event Rate operation can stop the progressive rollout.
Use Cases
- When new features are released, they are initially released to a small number of users. If there are no issues, continue the release as is. If problems occur, stop the release process to minimize impact.
Event Rate
Event Rate automatically disables Feature Flags when the number of events exceeds the threshold percentage based on the conditions specified for the variation.
Instructions
- Go to the Auto Operation tab on the Feature Flag details page.
- Click the + Add button.
- Choose the Kill Switch operation.
- Select Event Rate.
- Set up the conditions. Define the variation, goal, condition, threshold, and minimum count.
- Click Submit.
Use Cases
- Specify errors as Goal events to disable the feature flag if the error occurrence for users with the feature exceeds 5%, reducing risks.
- Specify the number of users using a new feature for analysis as a Goal event. If the number exceeds 20% with 1,000 occurrences, the feature is automatically disabled, efficiently collecting data for analyzing new features.
Flag Trigger
Flag triggers allows enabling or disabling flags by calling a URL.
Use Cases
- Show or Hide a campaign banner, survey, etc.
- Enable or disable a flag based on your monitoring tool.
Utilizing Combination of Settings
By combining scheduling and event rate settings, it is possible to manage Feature Flags with even more significant risk mitigation.
Case 1: Gradually releasing a new feature and stopping its function if the app crash rate exceeds 5% overall
By combining the following settings and methods, you can gradually release a new feature and automatically stop its release if a problem occurs in the app.
Combination Example
Progressive Rollout
Setting Item | Value |
---|---|
Increment | 10% |
Frequency | Daily |
Event Rate
Setting Item | Value |
---|---|
Goal | app_crash_count |
Variation | feature_on |
minimumCount | 0 |
Threshold | 5% |
Condition | >= |
Conclusion
Auto Operations are also effective when used alone, but combining them improves safety and efficiency when operating feature flags.
As a result, everyone involved in the product, including developers and product managers, can focus on their tasks.
Bucketeer will continue to provide features to make feature flags safer and easier to use.