Muhammed Senussi
Muhammed Senussi
  • Muhammed Senussi
Blue-Green or Canary? Ask What Your Database ThinksDevOps

The deployment strategy debate usually skips the only hard part, which is that your data has one version regardless of how many versions of the code are running.

Expand and contract

Any strategy where two versions coexist requires schema changes to be backwards compatible for at least one release. Add the column, deploy code that writes both, backfill, deploy code that reads the new one, then remove the old. Four deploys to rename a column feels absurd until the first time you try it in one and take the service down.

Choosing

  • Blue-green gives you a fast, complete rollback and needs double the capacity for a while.
  • Canary limits blast radius and needs enough traffic for the metrics to mean anything. Below a few hundred requests a minute you are reading noise.

Whichever you pick, decide the rollback criteria before you deploy. Judgement at two in the morning is not a strategy.

Blue-Green or Canary? Ask What Your Database Thinks — Figure 1
Blue-Green or Canary? Ask What Your Database Thinks — Figure 2
Blue-Green or Canary? Ask What Your Database Thinks — Figure 3

1 Comments

  • Peter Bakker

    May 13, 2025

    Four deploys to rename a column is the line I will be quoting to my team this week.

Leave a comment