High availability versus fault tolerance
grasp of resilience tiers.
HA minimizes downtime via redundancy and failover; fault tolerance survives failure with zero interruption.
treating them as synonyms or equating multi-AZ with true tolerance.
What's really being asked
The interviewer wants to know if you understand resilience as a spectrum rather than a binary, and whether you can reason about cost and complexity trade-offs at each tier.
The full answer
High availability aims to minimize downtime, accepting that brief outages may occur during a failover event. It is usually measured in nines of uptime. Fault tolerance is stronger: the system continues operating with no perceptible interruption even when a component fails. HA tolerates recovery time; fault tolerance tolerates zero. A good answer notes that fault tolerance costs more because it demands redundancy at every layer and replicated state.
The mistakes people make
Treating the two terms as interchangeable. Claiming that spreading instances across availability zones automatically yields fault tolerance, while ignoring shared state, in-flight requests, and the database tier. Forgetting that the data layer is usually the hardest part.
What usually comes next
How do you handle session state during failover. What is the difference between synchronous and asynchronous replication and how does each affect recovery point objective. How would you test the failover path.
A concrete example
A highly available setup might place an application load balancer in front of two web servers in separate availability zones, backed by a primary database with a standby replica that promotes on failure. There is a short window during promotion where requests fail. To make it fault tolerant, you add active-active web servers with no sticky local state, externalize sessions to a replicated store, and run the database in a synchronous multi-writer or quorum configuration so a node loss never drops a transaction. You also remove single points of failure such as a lone NAT gateway. The trade-off is roughly double the infrastructure spend and far greater operational complexity, which is why most teams choose HA unless the workload genuinely cannot tolerate any interruption.
Interview question
A system runs web servers across two availability zones with a database that promotes a standby replica on failure. Why is this not yet fault-tolerant?
- a.Availability zones are too far apart for low latency
- b.There is a brief outage window while the standby is promotedCorrect
- c.It uses only one load balancer at the edge
- d.Auto-scaling is disabled during the failover event
Why? this is the answer
Fault tolerance requires zero perceptible interruption, but standby promotion causes a short window of failed requests. A single load balancer is a separate concern and managed services are themselves redundant.
Just read this? Test yourself on what you have been reading.
- #high-availability
- #fault-tolerance
- #cloud-architecture
- #redundancy
- #resilience
Put your scrolling time to good use
Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.
We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.
See open roles