Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Canary in a pipeline

Darren Bathgate (Kenzan)
11:00am11:40am Wednesday, July 18, 2018
Software methodologies
Location: C123/124
Level: Intermediate
Average rating: ****.
(4.25, 4 ratings)

Who is this presentation for?

  • Developers, platform engineers, and architects

Prerequisite knowledge

  • A basic knowledge of microservices and pipeline deployments

What you'll learn

  • Learn the benefits of implementing canary deployments to a business and best practices for implementing canary deployments in a microservices pipeline
  • Understand how to bring a canary solution to your organization


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.

Photo of Darren Bathgate

Darren Bathgate


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.