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.
Darren Bathgate is a technical architect at Kenzan, where he designs data models for several relational SQL databases, including MySQL and Oracle, and optimizes query performance on legacy databases. He has built reactive data pipelines using Hadoop, Kafka, Akka, Spark, and Cassandra and continues to explore distributed data systems with Greenplum as well. Previously, he was an intern at the Rhode Island Department of Transportation, where he assisted with the development of financial reporting using Oracle and PL/SQL and desktop apps backed by SQL Server. Darren holds a master’s degree in information technology from New England Institute of Technology, where he focused on data warehousing, project management, and leadership. He is also an enthusiast of computer hardware and builds computers and stays up to date on the latest technologies, including NVMe storage and next-gen CPUs and GPUs. Outside of work, rock climbing and gaming keep him occupied.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org