Implementation Techniques for Canary Releases

Posted by Ketan Padegaonkar

8 July 2015

In the previous article on Continuous Deployment Strategies, we explored at a high level some of the popular CD strategies.

This article describes some of the implementation techniques for performing Canary Releases.

canary releases

Just like Blue/Green Deployments, one would start by deploying the application to a small subset of your servers.

Once the subset of servers is deployed to, you may then route requests for a few users to the new set of servers.

This strategy lets you do a lot of interesting things:

As your confidence in the deployment improves, you can deploy your application to more and more servers, and route more users to the new servers.

Long running migration phase

Because one or more versions of your application may be running in production for some period of time, your application and its components (webservices, microservices, database) needs to be backward-compatible so that it works with at least one or two previous versions of your application. This Parallel-Change Pattern is a simple and effective way to implement backward-incompatible changes between application interfaces.

comments powered by Disqus