What is a Canary Deployment?
A canary deployment is a strategy used in software development where new features are released to a small subset of users before being made available to the larger user base. This approach helps improve the quality, viability, and success rate of the feature ahead of a bigger rollout. The term "canary" comes from the historical practice of using canaries in coal mines as indicators of toxic gases. In software development, the pre-selected group of users helps identify bugs, breaks, and hazards of a new feature, allowing developers to strengthen it before releasing it to a wider audience. Canary deployments offer more control and confidence over releases, reduce the cost and impact of system failures, and can also help build demand for a new feature. They are different from blue-green deployments, which involve creating two identical instances of a production app behind a load balancer and routing users to the new production environment in a single shot. Canary deployments with Kubernetes can be done using service meshes or feature flags, which give developers stronger controls over deployments and remove the need for multiple production instances of an application.
Company
LaunchDarkly
Date published
March 11, 2021
Author(s)
LaunchDarkly
Word count
1495
Hacker News points
1
Language
English