December 31, 2019

296 words 2 mins read

Canary in a pipeline

Canary in a pipeline

Just as coal miners used canaries as an early-warning sign of mine contamination, you can use canary deployments to test new software releases in your production environment with minimal impact to users. Darren Bathgate details the layers of a canary system and outlines the benefits to your organization.

Talk Title Canary in a pipeline
Speakers Darren Bathgate (Kenzan)
Conference O’Reilly Open Source Convention
Conf Tag Put open source to work
Location Portland, Oregon
Date July 16-19, 2018
URL Talk Page
Slides Talk Slides
Video

A canary deployment is a process in which a set of features are promoted to production with limited exposure to the end user, giving early-warning about any issues that may arise, just as coal miners used canaries as indicators of mine contamination. In canary deployments, only a limited group of users are impacted if there is an issue with the deployment—not the entire user base. However, canary deployments have many more layers of complexity beyond just a feature toggle. Implementing a canary deployment system in a microservice pipeline can be challenging. Your alerting systems and test suites must also be canary-aware and detect if events originated from a canary deployment or from the current version. But the most difficult part for most may be convincing business owners to adopt canary into the SDLC. Darren Bathgate explains how you can use canary deployments to test new software releases in your production environment with minimal impact to users, details the layers of a canary system, and outlines the benefits to your organization. Having a canary system in place can greatly accelerate delivery of new features to production—the ability to deploy features to a small subset of users reduces the fear of deploying to production, and more upstream changes will be promoted as a result.

comments powered by Disqus