DEV Community

Sreekar Reddy
Sreekar Reddy

Posted on β€’ Originally published at sreekarreddy.com

🐀 Canary Deployment Explained Like You're 5

Testing updates on small subset first

Day 102 of 149

πŸ‘‰ Full deep-dive with code examples


The Canary in the Coal Mine Analogy

Miners used to bring canaries into mines:

  • If there was dangerous gas, the canary would react first
  • Miners would see the warning and escape
  • Small bird saves many lives

Canary Deployment works the same way!

Send a small percentage of traffic to the new version first.


The Problem It Solves

Deploying new code is risky:

  • Works in testing, might break in production
  • Deploy to all users at once? If it breaks, lots of users can be affected
  • Hard to predict all real-world issues

How It Works

Most traffic β†’ Current Version

Deploy the canary (new version):
β”œβ”€β”€ Most traffic β†’ Current Version (stable)
└── Small slice  β†’ New Version (canary)

Watch the canary:
- Errors increasing? Rollback!
- All good? Increase gradually toward a full rollout
Enter fullscreen mode Exit fullscreen mode

The new version is tested with real users, but starts with a small group at first.


Benefits

  • Real testing β†’ Actual user traffic on new version
  • Minimal blast radius β†’ If it breaks, a small slice of users is affected
  • Easy rollback β†’ Just stop sending to canary
  • Confidence β†’ Gradually increase as confidence builds

Monitoring Is Key

Watch for:

  • Error rates
  • Response times
  • User complaints
  • Resource usage

If the canary shows problems, pull it back!


Compared To Others

Strategy How It Works
Blue-Green Switch all at once to new environment
Rolling Update servers one by one
Canary Send small % of traffic to test first

Canary is often a low-risk, very controlled approach.


In One Sentence

Canary Deployment sends a small slice of traffic to the new version first, so you can catch problems before they affect lots of users.


πŸ”— Enjoying these? Follow for daily ELI5 explanations!

Making complex tech concepts simple, one day at a time.

Top comments (0)