Chapter 8. Automated Canary Analysis

Automated canary analysis (ACA) is an example of an advanced automated testing technique available as part of the continuous deployment process. It is included in this report as an example of how many different elements of the continuous deployment puzzle—automation, insights, metrics—can be combined to validate changes in a production environment.

In this chapter, we’ll describe how Spinnaker enables ACA. You’ll learn in detail about how canaries are set up and supported within a continuous deployment cycle and gain a deeper understanding of how to take advantage of this technique.

Canary Release

A canary release is a technique to reduce the risk from deploying a new version of software into production. A new version of the software, referred to as the canary, is deployed to a small subset of users alongside the stable running version. Traffic is split between these two versions such that a portion of incoming requests is diverted to the canary. This approach can quickly uncover any problems with the new version without impacting the majority of users.

The quality of the canary version is assessed by comparing key metrics that describe the behavior of the old and new versions. If there is a significant degradation in these metrics, the canary is aborted and all of the traffic is routed to the stable version in an effort to minimize the impact of unexpected behavior.

A canary release should not be used to replace testing methodologies such ...

Get Continuous Delivery with Spinnaker now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.