You need to release a new model version safely. What is the right approach?
Why D is the answer
Canary release, with rollback
A small share of traffic limits the impact of a bad version.
In detail
- A canary with rollback limits the impact of a bad version.
- Watch quality and latency.
Use case
An illustrative scenario, not a real incident.
A new model takes 5% of traffic, and a rollback is ready.
See it in different ways
flowchart LR
A["New version"] --> B["Canary traffic"]
B --> C{"Metrics good?"}
C -->|Yes| D["Full rollout"]
C -->|No| E["Roll back"]stateDiagram-v2 [*] --> Production Production --> Drift: inputs change Drift --> Retrain Retrain --> Compare: same test as the old version Compare --> Canary Canary --> Production: metrics hold Canary --> Rollback: metrics fall
stateDiagram-v2 state "Canary" as s0 state "Full traffic" as s1 state "Rollback" as s2 [*] --> s0 s0 --> s1: metrics hold s0 --> s2: metrics fall s1 --> [*] s2 --> [*]
Key point: Canary with rollback.
Why the other options are wrong
- A. Replace all replicas at once at peak hours
- That risks everyone at peak.
- B. Skip evaluation, since the prior version worked
- Past success proves nothing.
- C. Delete the old version before any traffic moves
- That removes your way back.

