Getting Started
5. How to guides
Targeted Progressive Delivery

Targeted Progressive Delivery

Targeted Progressive Delivery

They give teams the confidence to move fast without breaking things. FeatBit allows for precise user targeting and feature flag rules that open the door to all kinds of targeted rollouts: ring deployments, percentage deployments, canary launches, and so on. These targeted, incremental release strategies, or release progressions, involve far less risk than big-bang waterfall releases. Employ Targeted Progressive Delivery techniques to code faster, reduce risk, and continuously improve the customer experience.

Prerequisites

We assume that you've already completed the last three tutorials in "Get Started":

Progressively release game

After testing in production our "Dino Game", you still worry about if the game can run correctly. To avoid the incident for all users, you progressively release your feature. By default, you planned to release the feature at a pace of

  1. 5% at the beginning
  2. 20% if there were no bugs for the previous the first 5% of users
  3. 50% if there were no obvious bugs for the previous 20% of users
  4. 100% if no obvious bug for the previous 50% of users

To achieve this, you just need to modify default rule to serve "rollout percentage", then assign for example 10 percent to true, and 90 percent to false.

This means 10% of users will receive return variation true, and the DinoGame will release to those users who got a true variation.

Whenever you met a worse feedback (bugs) during the release process, you can rollback your feature release immediately by reallocating the rollout percentage.

The rollout percentage algorithm is a normal random distribution algorithm and is computed based on end user id.

Progressively release to an organization

Sometimes, you just want to progressively release to particular organization instead of all users. You can create a rule in “Rules” section to achive that.

Create a user property for rules

First, you need to create rule property in Portal. Go to "End users" page, click on the button "Properties".

Add a new property name "orgId", and click "Save" to create it.

You can add predefined values for the property you created.

Pass the property and values to system (for developers only)

Be sure that the property "orgId" and the value have been passed to FeatBit system when initializing SDK. Be sure that the key you set in preset values (image above) is as same as what you passed in the code of SDK initiliazing.

The FeatBit system will compare the property and its value you passed through SDK to the property and the values you configured in the Portal.

Progressively release to Company AA

Go back to "game runner" feature flag's "Targeting" page. Create a rule with the property "orgId" you just created. You need to:

  1. Add a new rule with a name (ex. Progressively release to company AA).
  2. Add a condition, if user's "orgId" is in the list, this user has 10% opportunity to receive a true variation.

With the rule we set above, the DinoGame will release to 10% of users in Company AA. Whenever you met a worse feedback (bugs) during the release process, you can rollback your feature release immediately by reallocating the rollout percentage.