We do not flip a production system we have not already flipped once.
A client's property listings marketplace was built on a managed cloud backend that gives you no database dashboard, no connection string, no service key. Fine when you are prototyping. A real problem when you have a security audit with 140 findings and an outside developer who needs a test environment you literally cannot hand him.
So the plan was simple to say and hard to do. Stand up a database the client owns. Rehearse the entire move into it. Then flip.
Thursday we did the full dress rehearsal into the new production project. Fresh export restored, grant matrix verified, cron jobs rendered, security batches applied, 44 edge functions deployed, auth pushed through the management API, the frontend repointed.
Then the part that actually counts, which is proving it instead of believing it. 47 of 47 read probes green on the new database. The production build referencing only the new project. Search returning 22,836 results off the new backend. Public files copied at 450 of 450, and the script is idempotent so we rerun it before the flip.
The real cutover is Monday night at 8pm Eastern. The gate we agreed on with the client is one line: no rehearsal means no flip. We have the rehearsal, so we go.
The temptation on a cutover is to trust your checklist and pull the trigger. But a checklist is a list of things you believe are true. A rehearsal is a list of things you watched happen. Those are not the same, and the gap between them is where a four hour window turns into a weekend outage.
Prove the move once with real numbers. Then the flip is boring. Boring is the goal.
AI Diagnostic | All insights