back

by jasonpeacock·4y ago·view on hn ↗
Not just feature flags, but "knobs" - we use a percentage (of requests or customers) instead of a boolean to enable features so we can dial them up/down.

This let us slowly roll out new features to a subset of users in case there are any issues.

Using feature flags also requires testing the default (not enabled state), ensuring you have a robust realtime configuration manager to control the knobs, and metrics for everything - not just how many requests/customers are opted-in, but also the progress & state of the configuration change.

It does no good to first enable a feature at 1% if only 1% of your servers have received the updated configuration - that's only .01% impact. It also tells you when your rollback is complete - you want to be sure when you disable something that there's not some stuck server with the feature still enabled...

2 comments
See also https://en.m.wikipedia.org/wiki/Knight_Capital_Group the Therac-25 of feature toggles.
so do you save the 'feature on' setting to a specific customer. e.g. if they log in from a different browser could they fall into a different bucket?