active-active vs. active-passive
expressionnetworkingcloud
The two shapes of high availability: both nodes serving traffic, or one serving while the other waits.
Active-passive is simpler to reason about and idles half the hardware; active-active uses everything and doubles the failure modes - notably the risk that each node runs fine alone but the pair cannot agree who owns what. BIG-IP HA pairs, firewall clusters, and databases all wrestle with the same trade.
Active-passive keeps a standby idle until failure; active-active runs both simultaneously and shares load. The second sounds strictly better, since the hardware is doing work rather than waiting, and the trade underneath is real and frequently underestimated.
Active-active requires the application to tolerate concurrency across sites. State has to be shared or partitioned, writes have to be reconciled, and the sequencing problems that a single active node made impossible are now live. Split brain is the characteristic failure: the two sides lose contact, both continue believing they are authoritative, and the data diverges in ways that must eventually be merged by a human.
Active-passive avoids all of that by having one authority, at the cost of idle capacity and a failover that must be tested. It is also easier to reason about during an incident, which is worth more than it sounds. The honest guidance is that active-active is right when you genuinely need the capacity or the latency of being close to users, and that choosing it for elegance means adopting a distributed systems problem you did not previously have.
Also known as: active-active, active-passive