Architecture patterns
Why go multi-region
The three legitimate reasons to run in several regions (latency, regional disaster tolerance and residency), the costs they bring, and why multi-zone deployment comes first.
Multi-region means running your system in two or more geographic regions. Each cloud region contains several availability zones, and each zone is a data center with its own power and network. Multi-region is for problems that span a whole region. You take it on for one of three reasons.
The big idea
There are three legitimate reasons:
- Latency. Users far from your servers wait for every round trip.
- Disaster tolerance. You survive losing a whole region. The cause might be a provider outage, a natural disaster, or your own bad deploy that happened to hit one region.
- Regulation. Data-residency laws and contracts can require certain data to stay in one jurisdiction.
The costs are real:
- Money. Each region needs enough capacity to absorb a failed region's traffic. Cross-region transfer is billed per GB, and replicating a busy database can cost as much as the database.
- Consistency. Strongly consistent writes across continents pay the speed of light on every write. Every design becomes a choice about which data gets which consistency.
- Complexity. Pipelines, configuration, secrets, monitoring and on-call all multiply. Failover is a distributed-systems problem with humans in the loop.
Important
Multi-zone comes first. Most outages are zonal or caused by your own changes. A three-zone deployment with good resilience patterns gets most services to 99.95% or better, at a fraction of the cost of multi-region. Go multi-region when a requirement, such as an availability target, a latency budget for distant users or a residency rule, demands it.
Walking through it: the latency floor
Light in fiber covers roughly 200 km per millisecond. New York to London is about 5,600 km, which is 28 ms one way. A round trip therefore has a physical floor of about 56 ms, and real networks land around 70 to 80 ms.
A user in Sydney calling a server in Virginia pays about 200 ms per round trip. A page that needs four sequential round trips spends about 800 ms on the network alone, however fast the code is:
round trips needed 4
Sydney to Virginia, per trip ~200 ms
network time alone 4 x 200 ms = 800 msA CDN fixes this for static content. For dynamic reads and writes, you need compute and data closer to users, which is what multi-region gives you.
Residency is a broader rule than routing. If EU personal data must stay in the EU, every replica, backup, log and search index derived from it must stay there too. A regional primary database whose logs ship to a central logging cluster in another country breaks that rule.
Common mistakes
- Going multi-region for vague resilience. Without a target, such as surviving a region outage with a stated amount of downtime, you can't tell when the design is done.
- Forgetting the transfer bill. Cross-region replication is billed per GB, and busy systems move a lot of it.
- Skipping zone-level resilience. A single-zone service with a second region is fragile in both places.
Check yourself
-
Why is a round trip between New York and London at least about 56 ms?
Light in fiber covers about 200 km per millisecond. The 5,600 km takes 28 ms one way, so 56 ms there and back.
-
What failure does a three-zone deployment survive that a single zone does not?
The loss of one data center, for example in a fire, while the other zones keep serving.
Key takeaways
- Multi-region is for latency, regional disaster tolerance and residency.
- The speed of light sets a latency floor that no code change removes.
- Multi-zone deployment covers most failures far more cheaply.
- Residency covers every copy of the data, not only the primary.
Further learning
Next: active-passive, RPO and RTO, which covers the simplest multi-region design and its recovery numbers.
Related
Multi-region architecture
Active-passive, active-active and cell-based designs for latency, disaster tolerance and data residency, with the recovery, consistency and cost trade-offs each one carries.
CAP, PACELC and consistency models
What "consistent" means once data lives on several replicas, from linearizable to eventual, what each guarantee costs, and how to pick one per feature.
Disaster recovery and chaos engineering
RPO and RTO, backups that restore, game days and region drills, and deliberate failure injection, so confidence comes from measured recovery. Start here for the map of disaster recovery pages.