Feature Flags Flexible Rollout Strategy

Problem to solve

When you use our percent rollout today, the stickiness is determined by the user ID (meaning the user must be logged in). Unleash doesn't commit to stickiness for Anonymous users.

With this new strategy, you can define the stickiness - so it can be based by session ID, user ID or random (no stickiness) so it gives you more control over the rollout.

This will also open the option for supporting stickiness for anonymous users.

Intended users

Further details

A flexible rollout strategy which combines all gradual rollout strategies in to a single strategy (and will in time replace them). This strategy have different options for how you want to handle the stickiness, and have sane default mode.

Unleash now supports a flexible rollout strategy that wraps 3 other strategies (one of which that we support) in one.

It may be good for us to support this strategy so that we may cover more possible use cases with less development effort.

UX Proposal

Replace percent rollout strategy to flexible rollout strategy with the following UI mockup.

Flexible_rollout Type should be renamed Rollout Type.

Based on options:

  • Available ID
  • User ID
  • Session ID
  • Random (no stickiness guaranteed)

New Terminology

  • Flexible rollout => Percent
  • Stickiness => Based on
  • Default => All available
  • User ID, Session ID, Random stay the same

default value shall be strategy: Percent rollout with value 100%.

Links / references

https://unleash.github.io/docs/activation_strategy#flexiblerollout

Edited by Orit Golowinski