Problem-aware
The real price of migration downtime — and how to put a number on it
“A few hours of downtime” sounds manageable until you price out what those hours actually contain. The outage window is the smallest part of the cost — the larger parts are what happens before customers notice, and what happens after the system comes back.
The cost isn’t just the outage
Revenue lost during the window is the easy part to estimate. Harder to price: the support tickets that pile up and take days to clear, the customers who don’t come back even after service is restored, and the trust cost with anyone watching status pages or monitoring uptime as a proxy for whether your business is stable enough to depend on.
For a revenue-critical system, that trust cost often outlasts the technical incident by months.
Why “just do it at 2am” doesn’t fix this
Scheduling a migration for low-traffic hours reduces the audience, not the risk. If the cutover fails, you’re now debugging a partial migration at 2am with a smaller on-call bench, and the business impact shows up the next morning when traffic returns to a system that’s in an unknown state.
Putting a number on it
A useful downtime cost model has three components: direct revenue loss per hour of the outage, the cost of the incident response itself (engineering hours, support load), and a trust discount applied to affected customers going forward. Once that number exists, it becomes the actual budget for a zero-downtime migration approach — and in most cases, it’s larger than the cost of doing the migration properly the first time. For the pattern most teams use to hit zero downtime on the data layer specifically, see zero-downtime database migration with the dual-write pattern.
Next step
Sitting on a system you're afraid to touch?
A Migration Risk Audit tells you exactly what's at risk, what it would take to move it safely, and whether now is even the right time.
Book a migration audit