Confirm you actually need multi-region (not just CDN + caching)
1 day of profiling
Lag: 47ms p99. Within 1s target. Stable.
Pick the topology: primary + read replicas (start here)
1 hr
Lag: 95ms p99. Within target. Cross-Atlantic latency adds.
Failover triggered manually. RTO: 12s. RPO: ~150ms.
Provision read replicas in target regions
2-3 hr
Failover triggered manually. RTO: 18s. RPO: ~200ms.
Implement read/write splitting in the app
Half a day to a day
Handle the read-after-write inconsistency
Half a day
Monitor replica lag and set alerts
2-3 hr
Handle writes that need low latency in secondary regions
Half a day to a day, only if needed
Plan and test the failover scenario
Half a day to test, ongoing to maintain
Handle migrations carefully (zero-downtime + cross-region)
Ongoing - per migration
Monitor latency from end users and iterate
1 week observation + ongoing