A migration is successful when the new host behaves correctly and the old host remains a usable rollback point. I approached the move as a sequence of verifiable boundaries instead of a single cutover.
Inventory before changing anything
The inventory covered containers, volumes, credentials, network bindings, and scheduled jobs. Production data was backed up before transfer, and the archive was checked by hash at each hop.
Prove the route at the application layer
A normal 401 demonstrated that the route reached the application, while a region error or proxy-generated 403 indicated a path problem.
Freeze, do not erase
After cutover, the VPS was stopped and documented as cold standby. Keeping its data intact preserves an explicit rollback path.