The exit drill
Restore a complete critical dataset somewhere else, verify it, time it, and record every dependency.
The exit drill is the smallest useful measure of cloud exit capability. It does not change production traffic and should not require a migration project.
Objective
Produce a verified, usable copy of one critical dataset in an environment that does not depend on the original service’s control plane. Record elapsed time, human effort, cost, missing semantics, and every dependency that prevented a clean restore.
One-afternoon version
- Choose one dataset. Prefer important, bounded, and already backed up.
- Declare success. Counts, checksums, schema, permissions, recovery point, and one application query.
- Choose elsewhere. Another provider, a local host, colocation, or an independent open implementation.
- Start the clock. Include export preparation, transfer, restore, and verification.
- Do not improvise silently. Log missing credentials, undocumented steps, rate limits, and manual support.
- Verify independently. Use checksums plus semantic checks; “the command exited zero” is insufficient.
- Record the number. Report elapsed time, hands-on time, data age, total cost, and blockers.
- Clean up safely. Confirm retention and deletion requirements before removing the drill copy.
Scorecard
| Field | Record |
|---|---|
| Dataset and size | What was actually included |
| Recovery point | Age of the restored data |
| Elapsed time | Start to verified usable copy |
| Hands-on time | Human effort, by role |
| Direct cost | Export, transfer, compute, storage, support |
| Missing semantics | Roles, versions, policies, jobs, logs, keys |
| Blocking dependencies | Provider-only services, identities, approvals, tools |
| Repeatability | Scripted, documented, or one-off |
Safety boundary
Use non-production credentials and an isolated target. Do not weaken retention, encryption, privacy, or access controls to make the drill pass. A failed drill is a useful result; it identifies the next capability to build.