Canary Deployment is an environment based release pattern, that works comparable to Blue-Green Deployment, but gradually shifts over load (traffic) from one environment to another.
The term originates from the canary (bird) in the coalmine, that would die from toxic gases before the miners would be affected, giving them an early warning to retreat. In that same sense the Canary Deployment is usually setup to roll-back in case of failures (e.g. increased error rates) on the systems the traffic is being shifted towards. Ideally before the clients see any - or only little - impact.
The more automation based on telemetry is involved to control the gradual shift (and roll-backs on failure signals) the more often the term Immune System Deployment is used instead.
- Complicated logic
- May require deep understanding of service (“what does failure mean”)