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.