Multi-Region Active-Active
Serve traffic from two regions simultaneously with data replicated both ways.
AdvancedPlatform
Users are routed to the nearest region by a global load balancer; both regions accept writes and replicate to each other, so either region can fail entirely without a hard outage, at the cost of resolving conflicting writes.
When to use it
- Global user base needs low latency and the business cannot tolerate a full-region outage
- The data model can support conflict resolution (or writes can be partitioned by region)
Trade-offs
- Bidirectional replication conflicts need an explicit resolution strategy
- Doubling the number of live regions roughly doubles operational and infrastructure cost
Components used
DNSManaged App ServiceRelational Database
How it works
- Two or more regions serve live traffic simultaneously, with users routed to the nearest healthy one by latency-based DNS or anycast.
- Data is replicated bidirectionally, which means writes can originate in either region and conflicts are possible by construction.
- Losing a region is a routing change rather than a failover procedure, since the surviving region is already serving.
Used in the wild
- Globally distributed users needing low latency everywhere.
- Systems with recovery time objectives measured in seconds.
- Regulatory requirements to serve and store data within specific geographies.
Good to know
- Conflict resolution is the whole problem. Last-write-wins is simple and silently loses data; CRDTs avoid that but constrain what your data model can express.
- Cross-region replication lag means the same account can be modified in two regions within the replication window. Systems handling money usually pin each account to a home region rather than accept that.
Related patterns
Model Serving with A/B Testing
Route inference traffic across model versions to compare live performance.
CQRS
Separate models and stores for writes and reads.
Blue-Green Deployment
Run two full production environments, switch traffic between them.
Canary Release
Send a small slice of traffic to the new version before a full rollout.