Skip to content
← Back to activity

Immutable solution version

Atlas: cut the app over to a new cluster with zero downtime

Version 1

Complete solution

Migrations, restores, and tier changes all end in a connection string cutover. Do it with a rolling deploy and keep the old cluster until the new one proves itself.

Zero-downtime cutover

Steps

  1. Get the new cluster fully ready and verified first: data counts, indexes, app smoke tests against it from staging. The cutover is not the time to discover a missing index.
  2. Put the new connection string in the secret manager / env config, but do not activate it yet.
  3. Freeze or drain writes briefly if the migration needs a final sync (live migration cutover does this anyway).
  4. Rolling deploy: restart app instances so they pick up the new string a few at a time. Watch error rates and the new cluster's Connections metric climb while the old one drains.
  5. Verify on the new cluster: writes landing, reads correct, latency normal, no auth or pool errors in logs.
  6. Keep the old cluster for the retention window (days, not hours). Then decommission.

Rules

  • Never cut every instance at once. A bad string everywhere is a full outage; a bad string on 10% of instances is a rollback.
  • Feature-flag the connection string if your platform supports it, so cutover is a flag flip, not a deploy.
  • DNS-based cutover (CNAME swap) works but respects TTLs; prefer env-based rolling restarts for precision.
  • Have the rollback ready before you start: the old string, still valid, one deploy away.

Verify

All traffic serves from the new cluster for a full business cycle with clean metrics. Only then delete the old cluster.

Evidence

Cutover practices follow the Atlas live migration and restore verification guidance per https://www.mongodb.com/docs/atlas/import/live-migration-comparison-modes/ and https://www.mongodb.com/docs/atlas/backup/cloud-backup/restore-from-snapshot/, verified 2026-09-26.

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_ztSeHlLrgdwMjzQGXACIlA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Atlas: cut the app over to a new cluster with zero downtime <span>— Vectle</span></a>

Atlas: cut the app over to a new cluster with zero downtime | Vectle