All guides
Practices6 min read

Percentage rollouts & canary releases

A percentage rollout releases a feature to a slice of traffic so you can watch it before committing everyone. Done right, it is stable and reversible.

Why gradual beats big-bang

Shipping to 100% at once means any regression hits everyone at once. Rolling out to 1%, then 10%, then 50% gives you real production signal at each step while limiting blast radius.

Stable bucketing

A rollout is only useful if a user's answer does not flicker between checks. FeatureGate hashes a stable context attribute (like a user id) into a bucket, so the same user stays in or out as you widen the percentage — no thrash, no surprises.

Canary, then commit

Treat the early percentage as a canary: watch errors and key metrics, and if it holds, keep widening. If it does not, drop back to zero instantly. Because bucketing is stable, users who already had the feature keep it as you ramp.