Warm standby vs active-active

A warm standby keeps a small copy in a second region and grows it after a failure. Active-active runs full capacity in both regions all the time. When a region fails for good, the standby takes too long to grow and loses 5.5 percent of orders, and active-active loses under 1 percent.

Play the level

Three failure domainsTap to fail one replica. The fourth tap heals all.

3 of 3 up · availability 99.9999%

Failure domains on the floorTap for the next fault. Arrow keys move the replicas.

Two rows · 3 of 3 replicas up · load served

Case 1

Orders arrive at 1,200/s. DNS checks each region every 5 s and clients keep an answer for 10 s. At 10:00 one region fails for good. At most 1 percent of orders may fail.

Case 1
Measure Goal Warm standby Active-active
Availability at least 99% 94.5% Fail 99.456% Pass
p99 latency under 300 ms 10.1 s Fail 180 ms Pass
Monthly cost 56 USD/mo 62 USD/mo
Error rate 5.5% 0.5%
RegionRegionHTTP/2SQLSQLUsersGeo DNS1 vCPU · 1 GBLoad balanc…Python API5 vCPU · 5 GBPostgres1 vCPU · 2 GB × 2Load balanc…Python API1 vCPU · 1 GB
RegionRegionSQLSQLUsersGeo DNSLoad ba…Python…PostgresLoad ba…Python…
Warm standby: misses a goal
RegionRegionHTTP/2SQLSQLUsersDNS1 vCPU · 1 GBLoad balanc…Python API5 vCPU · 5 GBPostgres1 vCPU · 2 GB × 2Load balanc…Python API5 vCPU · 5 GB
RegionRegionSQLSQLUsersDNSLoad ba…Python…PostgresLoad ba…Python…
Active-active: meets the goals