SaveMyCert
Cloud basics

High availability vs fault tolerance: the difference

High availability means designing a system to minimise downtime by recovering quickly from failures, while fault tolerance means designing it to keep running with no interruption at all when a component fails — the difference is whether a failure causes a brief blip or none. The two terms are often used interchangeably, and cloud exams exploit that sloppiness relentlessly: they describe a scenario and ask which property it demonstrates, or which a business requirement actually demands. Both are built from the same raw material — redundancy — but they set different bars, and the gap between “recovers in moments” and “never stops” is usually a large amount of money. This guide defines each precisely, explains how redundancy, failover and Availability Zones deliver them, separates both from disaster recovery, and shows where the distinction earns marks in AWS and Azure certification study.

Two definitions, one crucial difference

A highly available system is designed so that failures cause as little downtime as possible. Components will fail — disks die, servers crash, networks partition — and the design accepts this, detecting the failure and shifting work to healthy capacity quickly. Users might notice a brief interruption: a dropped request, a page that needs refreshing, a pause of seconds or minutes while a standby takes over. The goal is that downtime is rare and short, not that it never happens.

A fault-tolerant system sets a stricter bar: a component can fail and the system carries on with zero interruption, because redundant components are already running and sharing or shadowing the work. There is no failover moment to notice, since nothing has to be promoted or restarted — the surviving components simply continue. The practical test is what a user experiences at the instant of failure: a short blip means high availability; nothing at all means fault tolerance. Every fault-tolerant system is highly available, but most highly available systems are not fault tolerant — and do not need to be.

Redundancy, failover and Availability Zones

Both properties are built from redundancy — having more than one of everything that matters — but they use it differently. High availability typically pairs redundancy with failover: a health check notices a failed component and traffic is redirected to a standby or to the remaining healthy instances, which is where the brief interruption comes from. Fault tolerance runs the redundant components actively in parallel, so a failure removes capacity without removing the service.

Cloud providers give this a physical shape. AWS divides each region into multiple Availability Zones — separate data-centre facilities with independent power, cooling and networking, close enough for fast connections but isolated enough that one failing should not take down another. Azure has the same concept, also called availability zones, within its regions. Spreading instances across zones behind a load balancer, and letting a managed database replicate to a standby in another zone, is the standard high-availability pattern on both platforms; our explainer on cloud regions and Availability Zones covers the geography in more depth. The key idea is that redundancy only protects you from failures it does not share — two copies in the same rack share a power supply, while two copies in different zones do not.

Where disaster recovery fits

High availability and fault tolerance handle component-scale failures: an instance dies, a disk fails, one zone has an outage. Disaster recovery (DR) is the plan for events too large for in-region redundancy to absorb — an entire region becoming unavailable, widespread data corruption, or a ransomware incident that poisons the live copies. DR is usually about restoring service somewhere else, from backups or standby infrastructure in another region, and it is measured by different targets: how quickly you must be back up and how much data you can afford to lose.

The three concepts form a ladder, not a menu of alternatives. Availability keeps routine failures invisible or nearly so; disaster recovery is the fallback for the failures your availability design cannot contain. A well-architected workload states requirements for both, and exam scenarios often hinge on noticing which one a question is actually asking about — a region-wide outage is a DR question dressed in availability vocabulary.

The cost trade-off: why most workloads target HA

Fault tolerance is expensive, and honesty about that is the practical heart of this topic. Zero-interruption operation means running duplicate capacity all the time, engineering away every single point of failure, and often accepting extra complexity in how state is replicated between the active copies. For a genuinely critical system — payment processing, air traffic, life-safety — that cost is justified. For most business workloads it is not: a brief, rare interruption is acceptable, and the money is better spent elsewhere.

That is why most real architectures, and most correct exam answers, target high availability: redundancy across Availability Zones, health checks, automatic failover, and a tolerance for seconds or minutes of disruption in exchange for a far lower bill. Architecture questions frequently plant this trade-off directly — a scenario stresses cost-effectiveness and an acceptable brief interruption, and the fault-tolerant option is the wrong answer precisely because it over-delivers. Matching the design to the stated requirement, rather than to the most impressive property, is the skill being tested.

Measuring availability: the idea behind the nines

Availability is usually expressed as the percentage of time a system is operational, and practitioners talk about it in “nines” — the more nines in the percentage, the less downtime is permitted over a year. The exact figures matter less than the shape of the relationship: each additional nine cuts the allowed downtime by a factor of ten, while the engineering cost of achieving it grows steeply, because each step forces you to eliminate rarer and more expensive classes of failure. Chasing more nines than the business needs is a classic architectural mistake.

Cloud providers publish service level agreements (SLAs) stating the availability they commit to for each service, with service credits if they miss it. The specific percentages vary by service and change over time, so check the provider’s current SLA pages rather than memorising figures — what certification exams test is the concept: what an SLA is, that availability targets are expressed in nines, and that higher targets cost more to design for.

Where this appears in certification study

Resilient design is a core theme of the architecture and operations certifications on both major clouds. The AWS Solutions Architect – Associate (SAA-C03) has an entire domain on designing resilient architectures, where distinguishing high availability from fault tolerance — and matching each to a scenario’s stated tolerance for interruption and cost — is bread-and-butter material. The AWS CloudOps Engineer – Associate (SOA-C03) approaches the same ground operationally: health checks, failover behaviour, and keeping multi-zone deployments healthy. On the Microsoft side, the Azure Administrator Associate (AZ-104) tests the equivalent building blocks — availability zones, load balancing, and redundancy options for storage and virtual machines. A dependable study habit: whenever you learn a service, ask what happens the instant one of its components fails — a blip means it gives you high availability, silence means fault tolerance, and knowing which is which converts directly into marks.

Ready to start studying — free?

Original practice questions, timed mock exams and revision notes. No card, nothing to pay.

Jump straight into an exam
SAA-C03AZ-104SOA-C03

Questions, answered

High availability means a system minimises downtime by detecting failures and recovering quickly — users might notice a brief interruption. Fault tolerance means a system keeps operating with no interruption at all when a component fails, because redundant components are already running in parallel. Fault tolerance is the stricter, costlier property; every fault-tolerant system is highly available, but not the reverse.

Keep reading

Cloud basics
Monolithic vs microservices architecture: an honest comparison
Cloud basics
Object vs block vs file storage: the differences explained
Cloud basics
Relational vs NoSQL databases: which to choose and when
Cloud basics
What is a content delivery network (CDN)?