Architecture · Resilience
High Availability Architecture
A design pattern that removes single points of failure across every layer of a service's dependency chain.
AdvancedUpdated 2026-09-01
Overview
High availability is achieved by making each dependency redundant and failover automatic, then proving it under load. The design must state its failure domain explicitly: component, rack, room, zone or region.
Availability is limited by the least redundant dependency, which is frequently something unglamorous, a licence server, a single DNS resolver, one firewall, or a certificate shared by every node.
Layer model
Facility & platform
Dual power feeds and UPSRedundant coolingMultiple hypervisor hosts with cluster restartStorage controller redundancy
Network
Redundant switches and uplinksMultiple circuits and providersFirewall HA pairResilient DNS and DHCP
Application & data
Multiple stateless application instancesLoad balancer with meaningful health probesDatabase replication with automatic failoverSession state externalised
Assurance
Failover testing under loadCertificate and licence expiry monitoringCapacity headroom for degraded operationDocumented failback
Design considerations
- Distinguish HA from DR and design both; a cluster in one room does not survive a room.
- Ensure the environment can serve peak demand with one node or path missing.
- Monitor the redundancy itself, a failed secondary path is invisible until the primary fails.
Failure points
- Both nodes on one host or storage array
- Quorum loss
- Health probes that do not test the application
- Simultaneous certificate expiry
