
Cloud to cloud migration is now the default 2026 move, not on-prem to cloud. This guide shows how to switch providers with near-zero downtime β snapshot-seeded CDC replication, continuous validation, and a rehearsed cutover β plus 2026 egress cost math and a tooling map for AWS, Azure, and Google Cloud.
Most cloud migrations in 2026 do not start in a server room. They start in a cloud console you already pay for.
Enterprises did their first big on-prem to cloud move between 2018 and 2023. What they run now is the second move: collapsing three accounts into one, shifting a workload from one hyperscaler to another for cost, moving regions for sovereignty, or pulling a database off a first-generation warehouse onto a lakehouse. Analyst and practitioner sources agree: cloud to cloud migration is now the default 2026 move, not on-prem-to-cloud.
That changes the playbook. You are not racing to "get to cloud." You are switching planes mid-flight β with live traffic, live data, compliance obligations, and a bill that charges you per gigabyte to leave.
This guide gives you a practical, near-zero-downtime approach: when a cloud-to-cloud move makes sense, which native tools to use, how snapshot plus CDC (change data capture) replication works, what egress really costs in 2026, and the exact cutover sequence teams use to switch authority in seconds, not hours.
Quick answer: Plan a cloud-to-cloud migration as seed + sync + switch. Take a consistent snapshot, stream every change with CDC until lag is consistently under one second, validate continuously, then freeze writes for a short window, drain the lag to zero, promote the target, and switch traffic. Budget egress first β $0.087β$0.12/GB at list β and rehearse cutover and rollback at least once.
Key takeaways:
Around nine in ten organizations now run multi-cloud (Flexera: 89%, still rising); consolidation and cost are the top move drivers.
Near-zero downtime comes from snapshot + CDC, not dump-and-restore. Aim for a seconds-long write pause, not "zero" as a promise.
Egress is the hidden migration tax: ~$900 per 10 TB at list. A 100 TB move can cost ~$8,000 in transfer alone.
Use native migration hubs: AWS Migration Hub + MGN + DMS, Azure Migrate, Google Cloud Migration Center + Migrate to Virtual Machines.
Keep one writer until promotion. Dual-writes across clouds cause split-brain without an idempotency protocol.
Validate with row counts, checksums, and sequence checks β not just a green dashboard.
Why cloud-to-cloud migration is the 2026 default
Five forces converged, according to analyst research and provider docs:
1. The first migration is done. Most large estates are already cloud-hosted. The work now is moving between clouds, regions, accounts, or warehouse generations for cost, consolidation, or modernization.
2. AI decides placement. New apps are AI-native by default β models, agents, orchestration, evaluation. Teams migrate to where GPU capacity, managed AI services, and data pipelines fit, including AI-focused neoclouds alongside hyperscalers.
3. Cost forces moves. Cloud cost management remains the #1 cloud challenge (Flexera). Independent research keeps finding overruns: McKinsey data shows missteps adding 14% to migration spend on average, with 38% of companies delayed by more than a quarter. FinOps now decides what migrates first, not just how.
4. Sovereignty redraws regions. AWS European Sovereign Cloud reached general availability on January 15, 2026. Forrester predicts ~60% of regulated-industry enterprises will prefer private or data-center-based sovereign options. "Geopatriation" β relocating data into jurisdiction β is now a board-level driver.
5. Selective repatriation disciplines cloud choice. Barclays CIO surveys put 83β86% of CIOs planning to pull at least one workload back (the surveys' highest readings on record), while total public-cloud spend still grows toward ~$850B (Gartner). Translation: teams pull steady-state workloads home or to VPS/colocation while pushing elastic ones deeper into cloud β workload by workload.
For SysopHost readers β startups, SMEs, agencies β the same logic applies at smaller scale: a SaaS on one hyperscaler outgrows its discount, egress dwarfs storage, or a managed database costs more than the app it serves. Switching clouds, or consolidating onto well-run VPS/hosting for predictable parts, is a financial decision first.
When switching clouds makes sense β and when it does not
Good candidates to move:
High-spend workloads where another provider's compute, discount, or region math is 20β40% better
Consolidation plays: three accounts/orgs into one landing zone
Sovereignty moves: data must live in a specific jurisdiction
Warehouse/lakehouse upgrades: first-gen Redshift/Synapse/BigQuery v1 to lakehouse
Steady egress-heavy services where CDN or interconnect changes the bill
Do not move (or think twice):
Deeply managed-service-dependent workloads you would have to rebuild β engineering cost erases infra savings
Spiky global apps where scale-out genuinely earns its premium
Teams with no on-call coverage for the target β a cheaper cloud you cannot operate is expensive
One-off "lift everything" attempts without a workload inventory and TCO model
Rule of thumb from repatriation practitioners that applies equally to cloud-to-cloud: if utilization is flat 24/7 with heavy egress, you are paying for elasticity you never use. If demand is spiky or global, stay where scale is cheap.
Tooling map: what to use for which move
All three hyperscalers now offer a hub + replicator + database migrator pattern. Use native tooling where possible.
Move | Discovery + orchestration | Server/VM replication | Database + CDC |
|---|---|---|---|
To AWS | AWS Migration Hub, Application Discovery Service | AWS Transform MGN: physical/virtual/cloud to EC2 with non-disruptive testing | AWS DMS (homogeneous + heterogeneous), DataSync, Transfer Family |
To Azure | Azure Migrate hub (free): discover, assess, business case, wave planning | Azure Migrate server replication (VMware, Hyper-V, physical, other clouds) | Azure Database Migration Service + Data Migration Assistant |
To GCP | Google Cloud Migration Center | Migrate to Virtual Machines (from AWS, Azure, VMware); Migrate to Containers for GKE | Database Migration Service, BigQuery Migration Service, Storage Transfer Service |
Any-to-any data | IaC inventory + CMDB | Containerize portable services first | Debezium CDC, vendor DMS, or replication platforms with full + incremental + compare |
What changed recently: Azure Migrate added Auto Wave Planning and network assessments for VMware/NSX environments (both September 2026 previews), automatic application discovery and grouping (May 2026), and it now covers ASP.NET assessments for AKS/App Service containers plus agentless dependency analysis for Hyper-V, bare metal, and other clouds (Microsoft Learn, Azure Migrate "What's New"). AWS consolidated server migration under Transform MGN (the June 2026 rebrand of Application Migration Service) with launch-before-cutover testing. Google documents direct AWS/Azure to GCP paths for VMs, storage, and BigQuery.
Pick from an exact source-target-version matrix. A tool supporting both brands independently does not prove it supports your pair and engine versions, data types, extensions, and DDL behavior. Test this in a proof-of-concept before committing dates.
The 5-phase near-zero-downtime playbook
Phase 1 β Discover and decide (2β4 weeks)
Catalog every app, dependency, data flow, and usage pattern. Classify with the 7 Rs: Rehost, Replatform, Refactor, Repurchase, Retire, Retain, Relocate. Practitioner guidance commonly lands around 40β60% rehost, 20β35% replatform, and 5β15% refactor β validate against your estate, do not apply blindly.
Outputs:
Workload inventory with owner, compliance class, and RTO/RPO
TCO model per target: compute + storage tiers + inter-AZ + inter-region + internet egress + managed services + licensing + support
Egress budget line: model the migration itself plus steady-state serving and replication
Wave plan: 5β15 apps per wave, low-risk first, critical later
Enable FinOps tagging on day one (Project, CostCenter, Environment, Owner) and consolidate billing views. Cost Explorer / Cost Management / Billing export to BigQuery filtered on data-transfer meters plus VPC Flow Logs find top talkers fast.
Phase 2 β Prepare the target landing zone
Do not replicate into an empty account. Build networking, identity, security, and governance first:
Network: VPC/VNet design, private connectivity (Direct Connect / ExpressRoute / Interconnect for >5 TB moves), firewall + WAF, flow logs to SIEM
Identity: Federated SSO, least-privilege RBAC, MFA everywhere including migration service accounts, short-lived keys for replication
Data: KMS/Key Vault/Cloud KMS encryption at rest and TLS in transit, storage tiering matched to access, masking for non-prod
Governance as code: Cost guardrails and security baselines in IaC β deny public buckets, require encryption, enforce tags and budgets
Phase 3 β Seed + sync with snapshot and CDC
The core zero-downtime pattern. Three steps, in order:
1. Consistent seed. Copy the bulk dataset from a consistent point and record the exact log position (Postgres LSN, MySQL binlog file + position). The CDC stream must start from that position, not "now," or changes during the copy are lost. For large DBs, share a snapshot across accounts/regions, restore as baseline, then start CDC from the snapshot's log coordinate.
2. Continuous CDC. Stream every INSERT/UPDATE/DELETE until lag converges. For MySQL-family sources enable binlog_format=ROW and set retention (72β168 hours) so the log survives seed + catch-up. For Postgres use logical replication with adequate slot retention. Keep one writer on the source β avoid dual-writes across clouds unless you have operation IDs, idempotent apply, outbox ordering, and reconciliation.
3. Converge. Healthy pre-cutover lag is consistently under one second for light-to-moderate workloads. If apply throughput trails source change rate, lag never converges β fix target write capacity, index maintenance, or schema mismatch before scheduling cutover. Freeze risky DDL during CDC.
For VMs and stateless tiers, replicate images with MGN / Azure Migrate / Migrate to Virtual Machines and launch test instances without touching DNS. For object storage, use DataSync / Storage Mover / Storage Transfer Service with checksum validation β cross-provider copy pays egress at source plus request costs at both ends.
Phase 4 β Validate continuously, not once
Run a repeatable report against source and target log positions:
Exact row counts (small tables), partitioned counts + deterministic aggregates (large tables)
Hashes of stable key ranges, null/min/max/uniqueness checks
Schema, extension, collation, and sequence inventories
App read-only contract tests against the target
CDC lag in bytes and time, plus error/dead-letter queues
Record expected differences (CDC control tables, timestamps) so on-call does not chase ghosts at 2 a.m.
Phase 5 β Controlled cutover (seconds, rehearsed)
Strict "zero downtime" is an unsafe promise for stateful moves. Plan a short, honest write pause:
Freeze schema changes and background writers
Enter application read-only mode; fence remaining source write paths
Drain in-flight transactions; recycle writer pools
Record final source WAL/binlog position; wait until target confirms it applied
Final critical-table validation; advance sequences past all used values
Promote target to writer; switch connection config (prefer config-controlled endpoints over DNS alone β pools cache DNS)
Canary write through normal app paths; open traffic; watch business + DB metrics
Keep source fenced read-only for 24+ hours; monitor for forgotten clients attempting source writes
Define rollback before promotion: pre-cutover rollback resumes the source; post-first-target-write rollback is itself a data migration requiring reverse replication, a replayable change stream, or an accepted RPO with sign-off. Rehearse production-shaped cutover once and an aborted cutover once.
Egress math: budget the move and the month after
Ingress is free on all majors. Egress is not β and cross-provider transfer bills at full internet-egress rates at source.
2026 list reference (US regions, verify before budgeting as regions vary):
AWS: $0.09/GB first 10 TB/mo (100 GB free), then $0.085 to 50 TB, $0.07 to 150 TB
Azure: $0.087/GB first tier (100 GB free), volume tiers down to ~$0.05 at scale
GCP Premium: $0.12/GB first 1 TB; Standard (internet-routed): ~$0.085/GB with higher latency
Inter-region: ~$0.01β$0.02/GB intra-continent, up to ~$0.08β0.14/GB on some intercontinental routes; inter-AZ ~$0.01/GB each way on AWS/GCP
NAT Gateway processing: +$0.045/GB on AWS plus hourly per AZ
Worked example: moving 100 TB of objects from S3 to another cloud at list costs roughly 10 TB x $90/TB + 40 TB x $85/TB + 50 TB x $70/TB = ~$7,800 in egress before requests, target writes, or downtime risk. The same 10 TB served monthly to users costs ~$913/mo on AWS, ~$882 on Azure, ~$1,137 on GCP Premium at list.
Cut the bill with: same-region staging before transfer, compression + lifecycle so you do not move cold data hot, CDN offload, Standard tier where latency allows, dedicated interconnects above ~5 TB/mo, and negotiated enterprise agreements (egress-specific discounts are rare β savings usually arrive via cross-product committed-spend deals).
Security: the migration window is the riskiest window
Data is in motion, both environments accept operator access, and temporary credentials sprawl. Bake in:
Least-privilege replication roles, MFA on every migration account, key rotation before cutover
Private replication paths; no public buckets/endpoints without explicit, expiring justification
Centralized logging from day one to one collector for baseline + anomaly detection
CSPM scanning across both clouds for misconfiguration drift during parallel running
Encrypted transfer + at-rest keys you control; manage binlog/WAL retention so telemetry is not truncated mid-migration
Most high-profile cloud breaches trace to customer misconfiguration under the shared-responsibility model, not provider failure. Treat migration IAM as production IAM.
FinOps guardrails that prevent the second bill shock
Tag every replicated resource; alert on spend per wave, per app, per environment
Right-size 2β4 weeks after cutover β most migrated workloads arrive over-provisioned (Bain/TSO Logic: 84%), and rightsizing commonly recovers 20β35% of compute on affected resources
Commit only after steady state: 1-year/3-year reservations for baselines, autoscaling for variance
Delete the source promptly after the retention window β parallel running is the most common forgotten cost
Publish unit cost (/transaction,/GB served) so the next move decision uses economics, not anecdotes
Common pitfalls
Starting CDC from "now" instead of the snapshot position β silent data loss
Assuming DDL replicates β logical replication skips most DDL and sequences; coordinate explicitly
Dual-writes without idempotency β duplicates and reorder on retry
DNS-only cutover β pooled connections stick to the old writer
No sequence advancement β primary-key collisions on first target writes
Budgeting storage while ignoring egress, NAT, inter-AZ, and API request costs
Decommissioning source before the rollback window closes
Action checklist
Inventory + TCO with egress modeled for move and steady state
Landing zone (network, IAM, KMS, logging, IaC guardrails) live before replication
Source-target-version matrix proven in PoC, including DDL/LOB/extension behavior
Snapshot + CDC with recorded log position; lag consistently <1s
Continuous validation report (counts, hashes, sequences, contract tests)
Cutover runbook with owners, write-freeze, promotion, DNS/config switch, canary
Rollback path defined and rehearsed, including post-promotion reverse plan
Source retained read-only 24h+; parallel-run billing alarm set
Right-sizing + commitment review 2β4 weeks post-cutover
Conclusion and next step
Cloud-to-cloud migration rewards the boring virtues: complete inventory, honest egress math, snapshot plus CDC done correctly, validation that proves positions match, and a short fenced cutover you have already rehearsed β including the abort.
If your bill, region, or AI roadmap forces a switch, move in waves, keep one writer until promotion, and measure RPO/RTO in seconds, not slogans.
Need help scoping a switch or a hybrid alternative for steady workloads? Bring your inventory and last three cloud bills for a migration and FinOps review.
Planning a cloud switch?
Get a migration, egress, and FinOps review before you move a terabyte.
Talk to a Migration SpecialistComments
No comments yet. Be the first to comment!
Manpreet Singh