🏗️ Data Center Migration
Migration strategies
| Strategy |
RTO |
RPO |
Risk |
Cost |
Duration |
Description |
| Cold / Big Bang |
hours–days |
days |
High |
Low |
days |
Shut everything down, move, power up |
| Phased / Wave |
minutes (per wave) |
minutes |
Medium |
Medium |
weeks–months |
Workloads moved in waves |
| Rolling |
0 (live) |
0 |
Low |
High |
months |
Live migration per VM/service |
| Parallel Run |
0 |
0 |
Low |
Very high |
months |
Both DCs operational, gradual cutover |
| Pilot Light |
hours |
minutes |
Medium |
Low |
weeks |
Critical services in new DC, rest migrates |
| Lift & Shift |
hours |
minutes |
Medium |
Low |
weeks |
VMs/servers moved without configuration changes |
| Re-platform |
hours |
minutes |
Low |
Medium |
months |
Optimization during migration (OS upgrade, resize) |
| Re-architect |
0 |
0 |
Low |
High |
months–years |
Application redesigned for new platform |
Decision tree
Migration phases
1. Discovery and assessment
| Task |
Tools |
Output |
| HW and SW inventory |
RVTools, NetBox, CMDB |
Server, VM, and service list |
| Dependency mapping |
ServiceNow, AppDynamics, manual |
Application dependency graph |
| Traffic analysis |
NetFlow, sFlow, vRNI |
Bandwidth, latency, peak usage |
| Performance baseline |
Prometheus, Zabbix, vRealize |
CPU/RAM/disk/network per workload |
| License audit |
Flexera, SAM |
Licenses, support, compliance |
Output: workload list with RTO/RPO, dependencies, and criticality.
2. Planning
- Wave plan — workload division into migration waves (10–50 VMs per wave)
- Dependency ordering — DNS, NTP, LDAP, PKI first
- Cutover window — time window for switching (typically weekend)
- Rollback plan — conditions and procedure for reversal
- Test plan — what and how to test post-migration
- Communication plan — who, when, how is informed
3. New DC preparation
- Infrastructure — DNS, NTP, DHCP, LDAP/AD, PKI, monitoring (see DATACENTERS.en.md — deployment order)
- Network — BGP peering, VXLAN/VLAN, firewall rules, load balancers
- Storage — SAN zoning, NAS exports, Ceph cluster
- Virtualization — vCenter, Hyper-V cluster, Proxmox
4. Replication and synchronization
| Layer |
Method |
Tools |
| Storage (block) |
SAN sync/async mirror, LUN replication |
NetApp SnapMirror, Dell EMC RecoverPoint, Pure ActiveCluster |
| Storage (file) |
DFS-R, rsync, robocopy |
Windows DFS, Rsync |
| Storage (object) |
Cross-region replication |
MinIO replication, S3 CRR |
| Databases |
Log shipping, CDC, streaming replication |
PostgreSQL Patroni, Oracle Data Guard, MSSQL AlwaysOn, MySQL Group Replication |
| VM |
Storage vMotion, replication |
VMware vSphere Replication, Hyper-V Replica, Zerto |
| Kubernetes |
Velero + Restic, Rook Ceph mirror |
Velero, Rook |
5. Workload migration
Wave migration (recommended for medium/large DCs)
Typical single wave procedure:
- Day -7: Sync data replication (initial seed)
- Day -1: Incremental sync, final test
- Day 0 (cutover):
- Stop application in source DC
- Final sync (last delta)
- Start application in target DC
- DNS/Traffic switch
- Smoke test
- Day +1: Monitoring (performance, errors, lag)
- Day +7: Rollback window end (success confirmation)
6. Network strategies
IP re-addressing
| Approach |
Description |
Pros |
Cons |
| Keep IP |
Same IPs, BGP anycast or stretch VLAN |
No application config changes |
Stretched VLAN/L2 limitations |
| Change IP |
New IP range, DNS/BGP routing change |
Clean architecture |
Config changes, DNS TTL |
| NAT translation |
NAT between old and new IP space |
No application changes |
Latency, troubleshooting complexity |
Keep IP is only possible with:
- L2 stretch between DCs (VXLAN, OTV) — distance limited
- BGP anycast for VIPs (load balancers)
- Applications tolerant to ARP cache changes
DNS cutover
Traffic steering
| Technique |
Use case |
| BGP |
Change AS path / local pref for traffic steering |
| DNS |
Lower TTL, change A records |
| Load balancer |
Change pool members, health check |
| GSLB |
Global Server Load Balancing (F5 GTM, NSX ALB) |
| Cloud DNS |
AWS Route53, Azure Traffic Manager, Google Cloud DNS |
7. Database migration
See individual DB files for details. Summary table:
| DB |
Method |
RPO |
RTO |
Note |
| PostgreSQL |
Streaming replication + Patroni switchover |
0 (sync) / ~MB (async) |
min |
Patroni auto-failover |
| MySQL |
Group Replication / async replication |
0 (sync) / seconds |
min |
InnoDB Cluster |
| Oracle |
Data Guard switchover |
0 (sync) |
min |
Far sync for remote DCs |
| MSSQL |
AlwaysOn AG failover |
0 (sync) |
min |
Cloud witness |
| MongoDB |
Replica set election |
seconds |
< 1 min |
Priority-based failover |
| Cassandra |
Multi-DC replication |
eventual |
0 |
Native multi-master |
8. Testing
| Phase |
What to test |
Method |
| Pre-migration |
Application in new DC (isolated) |
Dry run on replicated data |
| Cutover |
Functionality, availability, latency |
Smoke test, synthetic transactions |
| Post-migration |
Performance, integration, monitoring |
A/B comparison with baseline, canary traffic |
| Rollback |
Return to old DC |
Tested rollback plan |
9. Rollback plan
Each wave must have a defined rollback:
| Condition |
Action |
| Application fails to start in new DC |
DNS switch back, stop replication |
| Performance worse than baseline (> 20 %) |
Rollback, root cause analysis |
| Integration failure (API timeout, DB connection) |
Rollback, dependency check |
| Security incident |
Rollback, forensic analysis |
Rollback must be tested before the real cutover.
Special cases
Mainframe migration
- IBM z/OS — GDPS (Geographically Dispersed Parallel Sysplex)
- HyperSwap for storage mirroring
- Cross-system coupling facility (XCF)
- Often the last migrated component
COTS applications (Oracle EBS, SAP)
- Require vendor-specific migration procedures
- Oracle EBS: Autoconfig, cloning (ADXLC)
- SAP: System Copy (Homogeneous / Heterogeneous), SWPM, SUM
- License re-licensing on HW change
Cloud migration (On-prem → Cloud)
See CLOUD.en.md — migration strategies (6 Rs):
| Strategy |
Description |
| Re-host (Lift & Shift) |
VM → Cloud VM (AWS MGN, Azure Migrate) |
| Re-platform |
OS upgrade, managed DB (RDS, Cloud SQL) |
| Re-architect |
Application rewritten as cloud-native |
| Retire |
Decommission unnecessary applications |
| Retain |
Application stays on-prem (review later) |
| Repurchase |
SaaS replacement |
Recommended approach per DC size
| DC Size |
VM Count |
Recommended strategy |
Duration |
Team |
| Small |
< 50 |
Big Bang (weekend) |
2–4 days |
3–5 people |
| Medium |
50–500 |
Phased (5–10 waves) |
2–8 weeks |
5–10 people |
| Large |
500–5000 |
Phased + Rolling |
3–12 months |
10–30 people |
| Enterprise |
5000+ |
Parallel Run / Rolling |
12–36 months |
30+ people |
Related
Sources
Links, books, and standards: sources/infrastructure/sources.md
Last revision: 2026-06-12