Canary Deployment

A canary deployment exposes a limited part of real production work to a candidate release before wider rollout. The current release handles the remaining work. The purpose is to gather relevant evidence while limiting the initial impact of a bad change.

Decide what the comparison can reveal

Suppose 5% of 1,000 requests reach a candidate: 50 requests. Even if all succeed technically, they may include no unusual return requests and provide little evidence about that behavior. A traffic percentage is an exposure setting, not a sample-size justification.

Define routing, comparison metrics, observation time, and stop conditions before rollout. Compare similar workloads where possible and inspect important user groups. Long-running sessions may require consistent routing rather than selecting a version independently on each request.

Users receive the candidate's results

Unlike shadow testing, a canary can affect users and trigger real actions. Stop or limit exposure when the agreed failure condition appears, and verify that recovery works with current dependencies.

A canary is not automatically a randomized experiment or proof of causation. Differences in users, timing, and workload can explain observed differences. Its release-safety purpose and any statistical experiment design should be stated separately.

References


Discover more from Insightful Data Lab

Subscribe to get the latest posts sent to your email.

Similar Posts

Questions, corrections, or additional insights?

This site uses Akismet to reduce spam. Learn how your comment data is processed.