The Canary Cookbook for High-Stakes Changes

Three canary patterns: percentage-based, geo-based, customer-segment-based. When to use each, with worked examples and the gotchas.

Percentage-based

Percentage canary splits traffic by random population: 5 percent on the new version, 95 percent on the old. Best for changes that affect all customers similarly (model swap, DB client upgrade, refactor); misses important-customer-specific issues because the random sample may not include them.

Geo-based

Geo canary rolls out region by region. Best for regional infrastructure changes (CDN tweaks, regional capacity); regions are not interchangeable, so per-region soak windows are mandatory. us-east passing tells you nothing about eu-west under different traffic shapes.

Customer-segment-based

Segment canary rolls out by user population: internal first, beta second, everyone third. Best for UX or workflow changes where surprise responses matter. Internal users are biased toward acceptance because they understand the product context customers do not have, so weight customer feedback more.