...see more

Canary was an essential part of British mining history. These humble birds were used to detect carbon monoxide and other toxic gases before the gases could hurt humans (the canary is more sensitive to airborne toxins than humans). The term “canary analysis” in software deployment serves a similar purpose. Just as the canary notified miners about any problems in the air they breathed, DevOps engineers use a canary deployment analysis to gauge if their new release in CI/CD process will cause any trouble to business.

You can consider the following general definition of a canary release deployment: canary deployment is a technique to reduce the risk of introducing a software update in production by slowly rolling out the change to a small subset of users before making it available to everybody. 

Source: What is Canary Deployment Strategy ? Benefits and Constraints (opsmx.com)

...see more

In software engineering, canary deployment is the practice of making staged releases. We roll out a software update to a small part of the users first to test it and provide feedback. Once the change is accepted, the update is rolled out to the rest of the users.

Canary deployments show us how users interact with application changes in the real world. As in blue-green deployments, the canary strategy offers no-downtime upgrades and easy rollbacks. Unlike blue-green, canary deployments are smoother, and failures have limited impact.

A canary release is an early build of an application.

Source: What Is Canary Deployment? - Semaphore (semaphoreci.com)

...see more

Why go to the trouble of implementing a canary strategy? The benefits are many:

  • A/B testing: we can use the canary to do A/B testing. In other words, we present two alternatives to the users and see which gets better reception.
  • Capacity test: it’s impossible to test the capacity of a large production environment. With canary deployments, capacity tests are built-in. Any performance issues we have in our system will crop up as we slowly migrate the users to the canary.
  • Feedback: we get invaluable input from real users.
  • No cold starts: new systems can take a while to start up. Canary deployments slowly build up momentum to prevent cold-start slowness.
  • No downtime: like blue-green deployments, a canary deployment doesn’t generate downtime.
  • Easy rollback: if something goes wrong, we can easily roll back to the previous version.

Source: What Is Canary Deployment? - Semaphore (semaphoreci.com)

Comments