Skip to main content

High availability

In large-scale cloud environments, hardware failures, localized power outages, network cuts, and software regressions are statistical certainties. Solid-state drives fail, physical host hypervisors reboot during security patches, and localized municipal disruptions can take an entire data center offline.

(HA) is the engineering practice of designing a system so that the failure of any individual component, server, or physical facility does not interrupt business operations. While cloud platforms make redundant infrastructure far simpler to provision than private data centers, achieving high availability requires deliberate trade-offs among network latency, architectural complexity, data synchronization mechanics, and financial cost.

Resilience is evaluated through the concept of a —the largest physical or logical boundary that can fail simultaneously. A resilient system is measured by its capacity to absorb the total loss of an entire failure domain while continuing to serve client traffic without degradation.

The resilience ladder

Each step on the resilience ladder protects against a broader failure domain than the one below it, carrying corresponding increases in architectural complexity and operating expense:

Resilience tierSurvives failure ofVulnerable to failure ofArchitectural requirements & cost profile
Single instanceNothing; zero hardware redundancyHost reboot, hypervisor crash, local disk corruptionBaseline compute cost; suitable only for non-critical dev/test
Multi-instance, single-zoneSingle machine or process crashPhysical data center failure, power loss, cooling failureMultiple compute instances behind a local load balancer
Multi-zone, single-regionEntire data center outage, local fiber cutFull geographic region outage, regional control plane disruptionInstances distributed across 2-3 zones; synchronous replication; cross-zone network fees
Multi-region active-passiveRegional disaster or complete network partitionGlobal provider-wide control plane or DNS failureDuplicated infrastructure in secondary region; asynchronous replication; automated DNS failover
Multi-region active-activeRegional failure with near-zero RTOSystemic application bugs deployed globallyActive compute and data ingestion in multiple regions; distributed conflict resolution; highest engineering cost

The vast majority of production enterprise systems target the multi-zone tier within a single region. Multi-region deployments are reserved for mission-critical core systems where prolonged regional downtime produces catastrophic financial or regulatory fallout.

Multi-zone: the production baseline

A cloud region contains multiple distinct availability zones, each representing physically isolated data centers with independent utility feeds. Spreading infrastructure across two or three availability zones represents the standard baseline for production workloads.

Stateless application tiers deploy in an configuration: every instance across all zones serves live traffic simultaneously. A managed load balancer monitors backend health and automatically stops routing traffic to any instance that fails health checks. If an entire availability zone suffers a power or network cut, the load balancer removes the affected instances from service within seconds. Because instances in the surviving zones are already processing traffic, the failure results only in a temporary reduction in compute capacity, which an autoscaling group rapidly replenishes.

Stateful database tiers typically operate in an topology. A primary database instance in Zone A processes all read and write traffic while continuously streaming write operations via to a passive in Zone B. Because replication is synchronous, the primary does not acknowledge a committed transaction until the write is safely recorded in the standby replica's transaction log.

When the primary instance degrades, the managed database platform initiates an automated : promoting the standby replica to primary status and redirecting the internal database endpoint. This failover typically completes within 60 to 120 seconds, presenting application callers with transient connection retries rather than catastrophic data loss.

Making a system multi-zone

Eliminate single points of failure by distributing every infrastructure layer across multiple zones.

  1. Deploy a managed load balancer that distributes traffic across at least two availability zones.
  2. Maintain at least two healthy instances or container replicas per service tier in distinct zones.
  3. Enable multi-zone high availability for managed databases to maintain an active synchronous standby replica.
  4. Select zone-redundant tiers for caching layers, message queues, and shared network filesystems.
  5. Validate resilience by periodically simulating the loss of an availability zone in a staging environment.

Multi-region: surviving geographic outages

While availability zones protect against local facility incidents, major geographic natural disasters, optical backbone severed across transit corridors, or widespread regional control plane outages can disable an entire region. Surviving a regional failure requires implementing (DR) infrastructure in a secondary geographic region.

Multi-region architecture introduces three fundamental engineering challenges:

  1. Network latency and asynchronous replication: Because regions are separated by hundreds or thousands of kilometers, speed-of-light propagation delays make synchronous replication across regions impractical for interactive applications. Cross-region data replication must use , where the primary region acknowledges transactions locally before streaming changes to the replica. Consequently, the secondary region always lags slightly behind. If the primary region suffers a sudden total outage, un-replicated transactions in flight are lost. The maximum duration of un-replicated data an organization accepts losing is its (RPO).
  2. Traffic redirection: Steering user traffic from a degraded region to a standby region requires automated DNS health check failover or anycast-routed global load balancing. The time required to detect regional failure, promote replica databases, and redirect traffic is the (RTO).
  3. Operational drift: A standby region that sits idle without receiving production traffic inevitably suffers from configuration drift: forgotten environment variables, missing secrets, out-of-sync database schemas, or insufficient cloud resource quotas. Multi-region infrastructure is only dependable if organizations conduct regular, scheduled failover drills under realistic operational conditions.

Active-passive versus active-active across regions

Multi-region architectures follow two distinct patterns:

Operational dimensionActive-Passive ArchitectureActive-Active Architecture
Write traffic routingDirects all writes to a single designated primary regionAccepts writes concurrently across multiple active regions
Failover complexityRequires explicit promotion of standby replica and DNS rerouteZero failover required; traffic routes dynamically away from failed region
Data conflict handlingEliminated by design; single authoritative source of truthRequires deterministic conflict resolution rules (e.g. CRDTs or last-write-wins)
Standby cost overheadLower; secondary region can run as a scaled-down pilot lightHigh; all regions must run provisioned compute and storage at full scale
Best suited forSystems requiring strict transactional consistency and ACID guaranteesGlobally distributed read-heavy services, content platforms, or conflict-tolerant domains

For most enterprise applications requiring strong relational consistency, combining active-active stateless compute with active-passive database replication provides the most reliable balance between operational safety and disaster recovery resilience.

Global platform services

Certain cloud foundation services operate natively across a global control plane, abstracting multi-region resilience entirely:

  • Global load balancers and Anycast IPs: Announce a single virtual IP address globally via BGP Anycast, automatically terminating client traffic at the nearest cloud edge and routing requests across internal optical backbones to healthy regional backends.
  • Managed DNS networks: Resolve queries across hundreds of globally distributed edge locations simultaneously, surviving regional outages without intervention.
  • Content Delivery Networks (CDNs): Cache static web assets, media, and API responses across global edge points of presence, shielding origin regional backends from traffic spikes.

Relying on global platform services for ingress routing provides the fault-tolerant foundation required to execute seamless regional failovers.

Measuring availability and SLAs

System availability is quoted as a percentage of total uptime over a calendar year, colloquially referred to as "nines":

Availability targetAllowable annual downtimeTypical architectural tier
99.0% (Two nines)~3 days, 15 hoursSingle virtual machine with basic monitoring and manual recovery
99.9% (Three nines)~8 hours, 45 minutesMulti-instance deployment with automated health checks
99.99% (Four nines)~52 minutesMulti-zone architecture with automated database failover
99.999% (Five nines)~5 minutesMulti-region active-active with automated traffic steering and chaos testing

Each additional "nine" demands roughly an order of magnitude increase in architectural complexity, operational testing, and infrastructure expenditure.

A cloud provider's (SLA) defines the availability commitments guaranteed for specific cloud services, alongside financial service credits issued if availability drops below those thresholds. Critically, provider SLAs govern individual cloud primitives rather than your composite application, and almost all provider database and compute SLAs explicitly require deploying across multiple availability zones to qualify for coverage.

Before choosing a rung

Align infrastructure resilience directly with business impact and recovery metrics.

  1. Establish the maximum allowable downtime before business operations suffer critical impact; this is your Recovery Time Objective (RTO).
  2. Determine the maximum allowable data loss tolerable during an unrecoverable failure; this is your Recovery Point Objective (RPO).
  3. Select the most economical resilience tier that satisfies both RTO and RPO thresholds.
  4. Schedule regular, automated disaster recovery drills to verify that failover mechanics function as expected.

Terms introduced

  • High availability: arranging a system so that no single failure takes the service down.
  • Failure domain: the largest thing that can fail at once: a machine, a zone, a region, or the provider.
  • Active-active: every copy serves traffic, so a failure removes capacity rather than the service.
  • Active-passive: one copy serves and another waits to be promoted.
  • Failover: promoting the passive copy and moving traffic to it.
  • Synchronous replication: copying a write before acknowledging it, so the copy is never behind. Practical within a region.
  • Asynchronous replication: acknowledging a write and copying it afterwards, so the copy lags. The only option across regions.
  • Recovery point objective: how much data the business accepts losing in a failover, measured in time.
  • Recovery time objective: how long the business accepts being down, from failure to serving again.
  • Disaster recovery: the multi-region rung, from backups in a second region through a warm standby to two live regions.
  • Service level agreement: a provider's promise of credits if a service falls below a stated availability, applying to its service rather than your system.

How providers do it

High availability and disaster recovery patterns are supported across AWS, Azure, and Google Cloud, spanning intra-data-center hardware isolation, multi-zone clustering, and multi-region failover. The primary architectural distinction lies in how each provider implements global traffic steering during regional outages.

ConceptAWSAzureGoogle Cloud
Physical rack anti-affinitySpread placement groupsAvailability SetsSpread placement policy
Multi-zone stateless computeEC2 Auto Scaling group spanning zonesVirtual Machine Scale Sets across zonesRegional Managed Instance Groups (MIGs)
Multi-zone stateful databaseAmazon RDS Multi-AZ deploymentZone-redundant high availabilityCloud SQL high availability configuration
Zone-redundant storageS3 (standard); zonal EBS volumesZone-redundant storage (ZRS) accountsRegional Storage buckets, regional Persistent Disks
Multi-region database replicationAurora Global Database, DynamoDB Global TablesAzure SQL failover groups, Cosmos DB multi-regionCloud Spanner multi-region, Firestore multi-region
Multi-region object storageS3 Cross-Region Replication (CRR)Geo-redundant storage (GRS / GZRS)Dual-region and Multi-region storage buckets
Global regional failover routingRoute 53 health-checked DNS, AWS Global AcceleratorAzure Front Door, Azure Traffic ManagerCloud Load Balancing (single global anycast IP)
Full-instance disaster replicationAWS Elastic Disaster Recovery (DRS)Azure Site Recovery (ASR)Asynchronous disk snapshot and image replication

Every product name and technical mapping above is confirmed against provider documentation. Specific service availability commitments, cross-region recovery point metrics, and specialized disaster recovery tooling are marked unconfirmed in the provider tabs below.

A fundamental difference exists in regional traffic management:

  • Google Cloud routes external traffic through a single global virtual IP address announced worldwide via BGP Anycast. The global load balancer continuously evaluates backend health across all regions; if an entire region fails, traffic automatically reroutes to healthy backends in other regions within seconds without changing DNS records.
  • AWS and Azure primarily handle multi-region traffic routing at the DNS layer (Amazon Route 53 or Azure Traffic Manager) or through dedicated application proxies (AWS Global Accelerator or Azure Front Door). DNS-based failover is subject to client-side caching and TTL propagation delays, requiring deliberate health check thresholds and automated traffic steering policies.

What this maps to: AWS's building blocks are all zonal or regional. Nearly every managed service has a multi-AZ setting. Multi-region is something you assemble yourself, from each service's replication feature plus Route 53 or Global Accelerator at the front.

ConceptOn AWSStatus
Multi-zone computeAn Auto Scaling group spanning several AZs, behind an ALB or NLB that is multi-AZ by defaultconfirmed
Multi-zone databaseRDS Multi-AZ (synchronous standby, automatic failover); Aurora keeps storage across three AZs regardlessconfirmed
Zone-redundant servicesS3, SQS, SNS, DynamoDB, EFS, and Lambda are regional and span AZs without configuration. EBS and ElastiCache are zonal unless configured otherwiseconfirmed
Multi-region databaseAurora Global Database (one writer region, asynchronous replicas elsewhere); DynamoDB global tables (multi-region writes, last-writer-wins); RDS cross-region read replicasconfirmed
Multi-region storageS3 Cross-Region Replication per bucket; S3 Multi-Region Access Points for one endpoint over several bucketsconfirmed
Traffic switchingRoute 53 failover routing with health checks; Global Accelerator for a static anycast address that steers to the healthy region in secondsconfirmed
Failover controlApplication Recovery Controller holds routing controls and readiness checks so a failover is a deliberate switch rather than a DNS editconfirmed
Disaster recovery for VMsAWS Elastic Disaster Recovery replicates machines to another region and launches them on demandconfirmed
Availability promisesPublished per service; EC2's applies to instances across more than one AZunconfirmed; check the current SLA page per service
Measured recovery pointAurora Global Database typically lags under a second; DynamoDB global tables similarunconfirmed; check current docs

Their vocabulary

Standard termTheir term
Availability zoneAZ
Multi-zone databaseMulti-AZ
Active-active data across regionsGlobal tables (DynamoDB), write forwarding (Aurora Global Database)
Failover switchRoute 53 health check plus failover record, or a routing control in ARC

Where to look

Route 53 health check status, and the CloudWatch alarms on them. Every failover is recorded on the RDS Events tab. If a regional event is in progress, AWS Health shows it.

Last verified: never.


Check your understanding

0 of 4 answered

  1. A service runs on three machines in one availability zone behind a load balancer. What is the largest failure it survives?
  2. Why do stateless services run active-active across zones while databases usually run active-passive?
  3. A product owner asks for five nines. What should you ask before agreeing?
  4. Why is a cross-region database copy asynchronous, and what does that cost you?