A release strategy decides how a change goes live. Shipping a new model version to every user at once is the fastest option and the riskiest: if it is worse in some way offline tests missed, everyone sees the problem at the same moment. Release strategies trade a little speed for the ability to catch problems early and undo them quickly.
The main patterns, each with its own entry:
- Blue-green deployment: run two production environments, as identical as possible. The new version is prepared in the idle one, then the router flips all traffic over. Rolling back means flipping back.
- Canary deployment: send the new version to a small subset of users or servers first, the “canary”, while the rest stays on the old version as the control. Google’s SRE workbook describes canarying as effectively an A/B testing process: compare the two groups, then decide whether to continue the rollout.
- Shadow deployment: the new model receives copies of real requests and its predictions are recorded but never shown to users. You learn how it behaves on live data with no user-facing risk, at the cost of running both models.
What changes for ML
For ordinary software, a bad release usually shows up as errors or crashes. A bad model can return perfectly well-formed predictions that are simply less accurate, so a release strategy for ML depends on model monitoring that tracks quality signals, not just uptime. Outcome signals can take hours or days to arrive, which argues for longer canary windows or a shadow phase first. Measuring whether the new model actually improves the product is the job of an A/B test, which often runs as the final stage of a rollout.