What is Canary Deployment?

Canary Deployment is a strategy where the new version of the application is gradually rolled out to users known as canary users while most of the users continue using the old version.  

This approach helps in testing new version in production with real user traffic minimising the risk of wide scale issues. Basically, deploy the new version to small group of users monitor metrics such as error rates, performance, and user behaviour and then gradually increase traffic to the new version until all users are switched to it.

Why Use Canary Deployment?

  • Offers Partial release of an application to check if the new version is reliable before delivering to all users.
  • Enables Easier rollbacks to the previous version if something goes wrong.
  • Collect user feedback before the new version is fully rolled out.
  • Real world testing of new features or versions without the significant risks of pushing a new application.
  • Because the stakes are low new features can be deployed with more confidence and less stress.

Common Tools Supporting Canary Deployment