Cloud Migration

Zero-downtime database migrations, without the folklore

The pattern is well known and still routinely done wrong, almost always by collapsing two phases into a single deploy.

Expand: add the new column or table, nullable, with no reads against it. Backfill: populate in batches, watching replication lag. Migrate reads: dual-read with the old path as fallback, then flip. Contract: drop the old path once the new one has been clean for a full business cycle.

The step teams skip is the gap between migrating reads and contracting. Dropping the old column in the same release as the read switch turns a rollback into a data-loss event.

Slower is faster here. Four deploys over two weeks beats one deploy and an incident review.

Back to all posts

Keep reading

Looking for support?

Transform your software development process with our DevOps expertise. We specialize in implementing industry-leading practices to increase efficiency and drive business growth.