Hacker News new | ask | show | jobs
by senand 593 days ago
I like the simplicity. However, it is possible to rollout a feature flag only to a part of the user, e.g. a 1% canary release (cf https://martinfowler.com/bliki/CanaryRelease.html)?

If not, I'm not sure this brings more to the table than simple configuration changes that are rolled out through your next deployment, which should be frequent anyway, assuming you have continuous delivery.

1 comments

You could make a variable like `rollout_percent` that is an number. It could be set to 1. Then in your app you could do something like:

const rollout_percent = await varse_client.getNumber('rollout_percent');

const random_number = Math.random() * 100;

if (random_number <= rollout_percent) {

// do gated action and will trigger for 1% of users when rollout_percent === 1

}

That's true, although it might get complicated to remember the setting for each user, and for each rollout feature! For more complicated combinations you need groups on the configuration side and to put users (or buckets of users) in groups and give those groups a certain config option.