- Inventory
Section 1
Everything that moves, and everything that points at it
Every app and worker, every scheduled job, every domain and DNS record, certificates, storage buckets, databases, the names of the environment settings each app reads (not their values), inbound webhooks from payment and mail providers, IP allow-lists at third parties, and the API addresses built into your mobile apps.
- Order of work
Section 2
What moves first, and what waits
Dependencies decide the order: storage before the apps that read it, databases before the APIs, APIs before the front ends. Each step has an owner, a duration from the rehearsal and a check that must pass before the next step starts.
- Rollback
Section 3
How to undo each step, written before it is taken
For every step, the exact way back and how long it takes. Old servers, runtimes and databases stay available in read-only or standby mode until the agreed quiet period ends. A migration without a rollback is a bet.
- Verification
Section 4
Proof that the new system matches the old
Checksums for files, record counts and spot checks for data, and a comparison of every public URL and API response before and after. The verification report lists each check and its result, so "it seems fine" never has to stand in for evidence.
- Cutover window
Section 5
When it happens, and who is watching
A time chosen from your traffic, not ours: DNS lifetimes lowered a day ahead, any write freeze announced, the people on call named, and a go or no-go check before the switch.
- Who is told
Section 6
Who needs to know, and when
Your team, your support staff and, where needed, your customers: what will happen, when, what they might notice and who to call. Payment and mail providers that need an updated address get the change on the day, from the list in the inventory.
- After the move
Section 7
Watching, then switching off
Error rates, logs and response times watched closely for the first days. The old environment is switched off only after the quiet period, with a final backup kept, and the runbook is updated to describe the new setup as it really is.