liveBook · Manning

Canary deployment

As explained in Machine Learning System Design

Canary deployment is a release strategy that sends a limited portion of users or traffic to a new version before fully switching over.

Canary deployment reduces release risk by keeping the old system live while sending a small portion of existing users to a new version. This makes production testing possible before a complete switch and simplifies rollback when problems appear. section 13.2

Search release

A search system may release its ranking model biweekly while changing the index, filter, and API on separate schedules. Canary deployment can expose the new ranking model to a small user group while the existing model continues serving everyone else. section 13.2

Use the pattern to:

Do not equate canary deployment with A/B testing. A/B testing compares versions to evaluate performance; canary deployment tests a new version before switching users to it completely. section 13.2

Figure 13.4 Canary deployment
figure

Use the deployment diagram to visualize granular traffic movement between the existing and new versions. section 13.2

How Machine Learning System Design covers it

How deep it goes
Defines concurrent versions, granular routing, rollback, and A/B-test distinction without detailing rollout controls or evaluation metrics.
Examples
Uses a search system that releases ranking models separately from its index, filter, and API layers.
What you can do after
Operate/configure staged production releases with fallback versions and independently deployed ML components.
How it connects
Connects blue-green deployment, A/B testing, gradual rollout, feature toggles, and system decomposition.

Also explained in

Compare how 7 books explain canary deployment →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning System Design. The section links point to the parts of the book it draws on.