LearnAWS
AWS07. Resilience & DR·EXPERT·5 min read

30. Multi-Region & Global Applications

Multi-Region & Global Applications

TL;DR

  • “Deployed to two Regions” and “multi-region resilient” are different claims — the application tier is usually stateless and trivial to run in multiple Regions; the data layer and failover automation are where real complexity and risk live.
  • Aurora Global Database provides managed, typically sub-second-lag cross-region replication with a defined promotion path; DynamoDB Global Tables extend multi-region to NoSQL using last-writer-wins conflict resolution.
  • Route 53 failover redirects traffic but does nothing about database promotion or dependent-service failover — full DR automation requires an orchestrated runbook (e.g., Step Functions) beyond DNS.
  • The real RTO is whatever the slowest manual step in the actual failover process takes, not what the architecture diagram implies.
  • Game day drills — actually executing failover, not just reviewing the runbook — are the only reliable way to detect infrastructure drift before a real incident does.

Core Concepts

Global databases

Aurora Global Database gives managed, typically sub-second-lag cross-region replication with a defined promotion path for the secondary Region — meaningfully less operational risk than hand-building a custom replication pipeline for the same outcome.

DynamoDB Global Tables extend multi-region support to NoSQL, with one critical behavioral detail: conflict resolution is last-writer-wins based on timestamp. If two Regions both accept a write to the same item nearly simultaneously, one write silently wins and the other is discarded. Application design must account for this — either avoid concurrent conflicting writes to the same item across Regions, or explicitly tolerate this resolution behavior. AWS does not merge both writes.

Cross-region replication

For S3 and other data stores, replication of ongoing writes is not the same as a full historical backfill. A DR plan that assumes otherwise without verifying it is a gap that surfaces during a real event, not before.

Route 53 failover as one component, not the whole story

Route 53 health-check-based failover is a necessary piece of multi-region DR, but treating it as the entire DR automation story is a common, incomplete design. DNS failover redirects new traffic to the healthy Region — it does nothing about promoting a database, failing over dependent services, or confirming the target Region is actually ready to serve traffic at the application level. Full DR automation requires an orchestrated process (Step Functions or an equivalent runbook automation) of which DNS failover is only one piece.

Disaster recovery automation and real RTO

Proper DR automation is the difference between an RTO that matches what the architecture diagram implies and an RTO that’s actually whatever the slowest manual step in the real failover process takes — often much longer than assumed until a drill measures it directly. A common failure pattern: the application tier fails over cleanly in under a minute, while an unautomated database promotion step takes 40 minutes of a human following a runbook under pressure. That manual step is the real RTO, regardless of what the design document claims.

Game day drills

Actually executing the failover process — not reviewing the runbook on paper — is how the true RTO gets surfaced. Infrastructure drifts continuously: IAM roles change, DNS records get modified for unrelated reasons, application configuration shifts, dependent services get added without the DR plan being updated. A DR plan validated only on paper accumulates this drift silently; running an actual drill is the only way to catch it before a real incident does.

Aurora Global Database vs DynamoDB Global Tables

Aspect Aurora Global Database DynamoDB Global Tables
Data model Relational NoSQL, key-value/document
Replication lag Typically sub-second Typically single-digit seconds
Conflict resolution Single writer Region (secondary is read-only until promoted) Multi-writer, last-writer-wins by timestamp
Failover mechanism Explicit promotion of secondary Region No promotion needed — all Regions can already write
Primary risk Promotion time and process must be automated/tested Concurrent writes to the same item can silently discard data

Common Pitfalls

  • Pitfall: Calling an architecture “multi-region” based on application-tier deployment alone. Why: The data layer’s actual failover process is undocumented or untested. Fix: Validate and measure the data layer’s promotion/failover path before making the multi-region claim.
  • Pitfall: DynamoDB Global Tables used without the application accounting for last-writer-wins conflict resolution. Why: Concurrent cross-region writes to the same item silently discard one write. Fix: Design writes to avoid same-item concurrent conflicts across Regions, or explicitly tolerate last-writer-wins semantics.
  • Pitfall: DR automation stops at Route 53 health-check failover. Why: DNS failover only redirects traffic; it doesn’t promote databases or fail over dependent services. Fix: Build an orchestrated runbook (e.g., Step Functions) covering database promotion, dependent-service failover, and readiness verification.
  • Pitfall: A DR runbook accurate on paper but drifted from actual infrastructure. Why: IAM roles, DNS records, configuration, and dependencies change over time without the plan being updated. Fix: Discover drift via scheduled game day drills, not during a real incident.
  • Pitfall: RTO claims based on the architecture diagram rather than a measured drill. Why: The diagram doesn’t capture manual steps in the actual failover process. Fix: Treat only a measured, drilled RTO as the real number.

Interview Questions

  • “A stakeholder claims your application is ‘multi-region resilient’ because it’s deployed to two Regions. What questions do you ask to validate that claim?” — tests whether the data layer and failover automation are probed, not just application deployment.
  • “Design conflict handling for a DynamoDB Global Table where two Regions might write to the same item nearly simultaneously.” — tests understanding of last-writer-wins behavior and its application-design implications.
  • “Your team has a well-documented DR runbook that’s never been executed as a drill. What’s your pitch for investing time in an actual game day?” — tests the ability to make the operational case for drilling versus documenting.
  • “Why might Aurora Global Database be preferred over a custom cross-region replication pipeline?” — tests understanding of managed replication trade-offs versus operational complexity.
🔒 Locked
Sign in and unlock the full syllabus to keep reading.
Sign in to continue
Knowledge check
5 scenario questions on this topic
Take the quiz →
Related in 07. Resilience & DR
12. High Availability & Disaster Recovery
EXPERT
33. Resilience Engineering
EXPERT