Beginner System design concept · Thinking in Systems · 40 mins read

Availability in Numbers

Translate availability percentages into downtime budgets, SLAs, and SLOs. Learn how series and parallel component topologies multiply or compound system availability.

99.9%, 99.99%, 99.999%

What availability percentages mean in real downtime, cost, and engineering effort.

Intuition

Adding one nine to an availability percentage sounds small, but it shrinks the allowed downtime by a factor of ten. Moving from 99.9% to 99.99% does not require 1% more work; it often requires a fundamentally different architecture, operational discipline, and budget. Engineers negotiate SLOs, design on-call rotations, and decide where to invest reliability work. Without a concrete feel for the numbers, every system drifts toward five nines whether the business needs them or not.

Mental Model

Availability is the percentage of time a system correctly serves requests over a year. Each extra nine is an order-of-magnitude improvement in downtime budget. The real design question is not 'how many nines can we build?' but 'how many nines does the business actually need, and what is it willing to pay for them?' Think of it like: A water filter that removes 99% of impurities still leaves 1% contamination — noticeable and sometimes dangerous. 99.9% looks clear, 99.99% is close to pure, and 99.999% is laboratory grade. Each step costs more to achieve and verify.

Building Blocks

  • Availability Percentage: The fraction of time a system is up and correctly handling requests, usually measured over a one-year window.
  • Allowed Downtime Budget: The maximum outage time that still keeps you within your target percentage. 99.9% allows about 8.7 hours per year; 99.99% allows about 52 minutes.
  • SLA and SLO: An SLA is a contractual promise to customers, often with penalties. An SLO is an internal reliability target used to guide engineering and prioritize incident response.
  • Error Budget: The inverse of your SLO: the amount of unreliability you are allowed to consume. It helps balance reliability work against feature velocity.
  • Cost of Downtime: Revenue lost, reputation damage, and engineering hours spent during outages. This number determines whether pursuing another nine is worth it.

Definitions

Availability
The proportion of time that a system is operational and performing its required function under agreed conditions.
  • Usually expressed as a percentage such as 99.9% or 99.99%.
  • Must be measured from the user's perspective, not just the server's heartbeat.
Nines
A shorthand for the number of consecutive 9 digits in an availability target. 99.99% is called 'four nines'.
  • Each additional nine reduces the yearly downtime budget by a factor of ten.
  • Going from two nines to five nines is a 1,000x improvement in allowed downtime.
Service Level Objective (SLO)
An internal reliability target that defines how available a service should be over a measurement period.
  • SLOs drive alerting thresholds and incident severity.
  • They should be ambitious but achievable; missing them constantly erodes trust.
Service Level Agreement (SLA)
A contractual commitment to customers that defines availability targets and any penalties for missing them.
  • SLAs are usually looser than internal SLOs to leave a safety margin.
  • Breaching an SLA can trigger refunds, credits, or legal exposure.
Error Budget
The amount of unreliability a team is allowed to introduce before it must slow down feature work and focus on reliability.
  • If your SLO is 99.9%, your error budget is 0.1% downtime.
  • Error budgets protect teams from perfectionism and from recklessness.

Bonus Points

  • Downtime per year: 99% ≈ 3.65 days, 99.9% ≈ 8.76 hours, 99.99% ≈ 52.6 minutes, 99.999% ≈ 5.26 minutes.
  • Durability is not availability: S3's eleven nines of durability describe data loss probability, not uptime. A system can have perfect durability and still be down.
  • User-perceived availability: A backend may report 99.99% uptime while a buggy mobile client makes users think the service is broken.
  • Planned maintenance: Some SLAs exclude scheduled downtime; clarify what counts before comparing numbers across vendors.
  • Higher nines need better change management: Most large outages are caused by deployments and configuration changes, not random hardware failures.

Patterns

  • Pick the Right Target for the Workload — When setting or revising an SLO.
  • Spend Error Budgets Deliberately — When reliability work conflicts with shipping features.
  • Define Availability from the User's View — When measuring whether the product is actually usable.

Strategies

  • Start with a Realistic SLO When: At the beginning of a project or reliability review. How: Estimate the cost of downtime and the cost of improving reliability. Choose an SLO that is better than 'best effort' but not stricter than the business justifies. Example: A startup might begin at 99.5% and tighten to 99.9% once it lands enterprise customers.
  • Build Observability Before Chasing Nines When: Before declaring that you have hit a new availability target. How: You cannot improve what you cannot measure. Instrument user-facing success rates, latency distributions, and error budgets before investing in redundancy. Example: A team notices that 90% of 'unavailability' is actually a slow dependency timing out, so they add circuit breakers before buying more replicas.
  • Invest Reliability Improvements Where Failure Hurts Most When: When prioritizing reliability work across a large system. How: Focus on the critical paths that directly affect revenue or user trust. Non-critical features can live with lower targets and graceful degradation. Example: A streaming service protects the playback path with redundant origins while keeping the comments section on a simpler stack.

Availability Is More Than Infrastructure Uptime

A dashboard may show 99.99% server uptime while customers cannot check out because of a JavaScript bug, a third-party fraud check outage, or a certificate expiry. True availability must be measured end-to-end, weighted by business impact, and paired with latency and correctness. Another trap is chasing nines without considering the cost: each additional nine can require multi-region active-active setups, stricter change windows, and larger on-call teams. The right number of nines is the one that balances user trust, revenue, and engineering cost.

Tradeoffs

DecisionUpsideDownside
More nines vs engineering costHigher customer trust, fewer penalties, ability to serve critical workloads.Requires redundancy, better tooling, tighter processes, and larger operational investment.
Reliability vs feature velocitySlower, safer releases reduce outages and protect the brand.Competitors may ship faster; excessive caution can stall product growth.
User-perceived availability vs backend uptimeMeasuring the full user journey reveals real pain points.End-to-end measurement is harder and can include dependencies outside your control.

Real World

SystemHow it's used
AWS EC2 SLAAWS commits to 99.99% monthly uptime for EC2 in multiple Availability Zones. Missed targets trigger service credits, not cash refunds.
Google Cloud Compute SLAGoogle Cloud offers 99.99% uptime for multi-zone instances and 99.5% for single-zone instances, pricing the value of redundancy.
Azure Virtual Machines SLAMicrosoft commits to 99.99% for multi-instance deployments across Availability Zones and 99.9% for single-instance VMs.
StripePayment infrastructure often targets 99.999% uptime because every minute of downtime means lost transactions for merchants.

Interview

Questions interviewers ask

  • How much downtime per year is allowed for 99.9%, 99.99%, and 99.999%?
  • What is the difference between an SLA and an SLO?
  • When is it not worth chasing another nine?
  • How would you set an availability target for a new service?
  • What is an error budget and how do you use it?

What a strong answer covers

Candidate should translate nines into downtime, explain SLA/SLO/error budget, and discuss the tradeoff between reliability, cost, and feature velocity.

Common traps

  • Quoting nines without knowing the corresponding downtime.
  • Confusing durability with availability.
  • Assuming every service must be five nines.
  • Forgetting that user-perceived availability can differ from backend uptime.

Quiz

Approximately how much downtime per year is allowed for 99.99% availability?
  1. About 52 minutes
  2. About 8.7 hours
  3. About 5 minutes
  4. About 3.6 days

99.99% (four nines) allows roughly 52.6 minutes of downtime per year.

Which statement best describes an SLO?
  1. An internal reliability target used to guide engineering priorities
  2. A contractual promise with financial penalties
  3. The maximum number of nodes allowed in a cluster
  4. The percentage of requests that must complete in under one second

An SLO is an internal objective. An SLA is the external contract that may include penalties.

What is an error budget?
  1. The amount of unreliability a team is allowed before slowing feature work
  2. The total number of errors a service can log in a day
  3. The budget allocated to buy redundant servers
  4. The difference between SLA and SLO

An error budget is the inverse of an SLO; it quantifies how much downtime is acceptable and balances reliability with velocity.

Why might user-perceived availability differ from backend uptime?
  1. Client bugs, third-party failures, or slow dependencies can break the user experience even when servers are healthy
  2. Backend uptime is always higher than user-perceived availability
  3. Users measure availability with different calendars
  4. Backend uptime excludes successful responses

User-perceived availability is end-to-end; it includes clients, networks, and dependencies.

Which is generally the biggest driver of needing more nines?
  1. Business cost of downtime
  2. Number of developers on the team
  3. Choice of programming language
  4. Length of the README

The right number of nines is driven by how much outages cost the business and what customers expect.

Parallel vs Sequential Availability

How component topology multiplies or compounds availability.

Intuition

You can buy the most reliable servers in the world, but if they all sit in a single chain, the whole system fails whenever any one link breaks. Redundancy only helps when it is arranged in parallel, not when it is strung together in series. System availability is a function of architecture, not just component quality. Understanding series and parallel math lets you place redundancy where it actually improves the end-to-end number.

Mental Model

In a series path every component must work, so you multiply their availabilities together and the result is lower than the weakest link. In a parallel set, the system survives as long as any component works, so you calculate the probability that all components fail at once and subtract it from one. The best real systems combine the two: parallel redundancy on the critical path, series only where unavoidable. Think of it like: Crossing a river: a series path is a single rope bridge made of many planks — one broken plank strands you. A parallel path is three independent bridges — as long as one stands, you cross.

Building Blocks

  • Series Availability: The total availability of a chain of components is the product of each component's availability: A_total = A1 × A2 × A3.
  • Parallel Availability: The total availability of redundant components is one minus the probability that every component fails: A_total = 1 − (1−A1)(1−A2).
  • Complement Rule: If a component is 99.9% available, the chance it is down is 0.1%. Parallel availability uses those failure probabilities, not success probabilities.
  • Single Point of Failure: A component that sits alone in series. If it fails, the whole system fails regardless of how reliable the rest of the stack is.
  • Critical Path: The sequence of components that must all work for the user request to succeed. Availability improvements here have the biggest impact.

Definitions

Series Availability
The availability of components arranged end-to-end where every component must be healthy for the system to function.
  • Calculated by multiplying individual availabilities.
  • Even reliable components chained together produce a lower total availability.
Parallel Availability
The availability of redundant components where the system continues to work if at least one component is healthy.
  • Calculated using the complement of all components failing simultaneously.
  • Adding parallel copies gives diminishing but significant gains.
Single Point of Failure (SPOF)
A component whose failure will take down the entire system.
  • Removing SPOFs usually means adding parallel redundancy or automated failover.
  • Common SPOFs include single databases, single load balancers, and single network links.
Redundancy
Duplicating critical components so that a failure does not stop the system.
  • Can be active-active, active-passive, or standby.
  • Only improves availability if the redundant units fail independently.
N+1 Redundancy
Having at least one spare component beyond the minimum needed to handle the load.
  • N is the number of units required; +1 is the extra buffer.
  • Common in power supplies, load balancers, and database replicas.

Bonus Points

  • Hybrid architectures: A common pattern is a series of parallel pairs, e.g., dual load balancers → dual application servers → database cluster. Each parallel pair raises the total availability of its stage.
  • Correlated failures break the math: Two replicas in the same rack share power and network. If one fails, the other is more likely to fail too, so the parallel gain is smaller than the formula suggests.
  • Failover must actually work: A standby node that does not take over automatically adds no availability. Test failover paths regularly.
  • Microservices multiply series risk: Each additional service in the call chain can become a serial dependency. A chain of five 99.99% services is roughly 99.95% available overall.
  • Availability and capacity are linked: A single surviving node in a parallel pair must be able to handle the full load; otherwise you are available but degraded.

Patterns

  • Parallel Pair on the Critical Path — When a single component failure would take down the service.
  • Series Minimization — When designing a request flow.
  • Failover with Health Checks — When you have active-passive redundancy.

Strategies

  • Map the Critical Path First When: Before adding redundancy anywhere. How: Draw the components a request must pass through. Identify every SPOF. Add parallel redundancy to the ones on the critical path first. Example: An e-commerce checkout needs DNS, CDN, load balancer, app server, payment service, and database. DNS and the database are SPOFs unless redundant.
  • Isolate Failure Domains When: When deploying parallel replicas. How: Place replicas in different racks, availability zones, or regions so they do not share fate. Example: A multi-AZ database cluster can survive the loss of an entire data center.
  • Test Failover in Production-like Conditions When: Continuously, not just during launch. How: Run game days or chaos engineering exercises that terminate nodes and verify that traffic reroutes and services recover. Example: Netflix's Chaos Monkey randomly terminates instances to ensure automated failover works.

The Hidden Assumption: Independent Failures

Parallel availability formulas assume that components fail independently. In reality, replicas often share power, cooling, operating-system patches, deployment pipelines, or code bugs. A bad rollout can crash every replica at once, turning a supposedly redundant system into a total outage. That is why availability engineering also includes change management, canary deployments, blast-radius containment, and observability. The math gives you the theoretical ceiling; operational discipline determines how close you get.

Tradeoffs

DecisionUpsideDownside
Redundancy cost vs availability gainEach parallel replica raises availability and can share load.More hardware, more licenses, more operational complexity, and more things to keep in sync.
Automated failover vs split-brain riskFast recovery improves availability metrics.Aggressive failover can create two primaries, causing data conflicts.
Synchronous replication vs asynchronous replicationSynchronous replication keeps data consistent across replicas.It adds latency and can reduce availability because a slow replica blocks writes.

Real World

SystemHow it's used
Cloud Load BalancersCloud providers deploy load balancers as redundant instances behind anycast IPs. If one instance fails, traffic moves to another without user impact.
DNS ProvidersMajor DNS services use globally distributed name servers. A user query can be answered by any healthy server, making DNS highly parallel.
Database ClustersDatabases like PostgreSQL with streaming replicas or MySQL Group Replication keep multiple copies. Some topologies are active-active; others promote a standby on failure.
CDN Edge NetworksContent delivery networks place caches around the world. If one edge fails, requests are routed to the next nearest cache, improving both availability and latency.

Interview

Questions interviewers ask

  • How do you calculate availability for components in series?
  • How do you calculate availability for redundant components in parallel?
  • If two 99.9% services are in series, what is the total availability?
  • What is a single point of failure and how do you remove it?
  • Why does correlated failure reduce the benefit of redundancy?

What a strong answer covers

Candidate should write the series and parallel formulas, calculate a simple example, identify SPOFs, and explain why redundancy only helps when failures are independent.

Common traps

  • Forgetting to convert percentages to probabilities before multiplying.
  • Assuming two replicas always give 100% availability.
  • Ignoring the need for automated failover.
  • Forgetting that shared infrastructure creates correlated failures.

Quiz

Two services each with 99.9% availability are connected in series. What is the approximate total availability?
  1. 99.8%
  2. 99.99%
  3. 99.9999%
  4. 99.0%

Series availability is A1 × A2. 0.999 × 0.999 ≈ 0.998, so about 99.8%.

Two 99.9% available components are placed in parallel. What is the approximate total availability?
  1. 99.9999%
  2. 99.9%
  3. 99.8%
  4. 99.99%

Parallel availability is 1 − (0.001)² = 0.999999, roughly 99.9999%.

Which topology is most likely to create a single point of failure?
  1. A single database that every request must read from
  2. Two active-active load balancers
  3. A multi-AZ replicated cluster
  4. A CDN with hundreds of edge caches

A single required database is a single point of failure because its failure brings the whole system down.

What does N+1 redundancy mean?
  1. One extra component beyond what is needed to handle the load
  2. One node for every user
  3. Adding one more nine of availability
  4. One network link per availability zone

N+1 means you have the required N units plus one spare.

Why can correlated failures reduce the real availability of a redundant system?
  1. Replicas may share power, network, or code and fail together
  2. Redundant systems always have lower availability
  3. Correlated failures increase component reliability
  4. They have no effect because the math accounts for them

If replicas share failure domains, they can all fail at once, making redundancy less effective than the formula predicts.

Practice availability in numbers in PRISM

Concepts stick when you watch them fail. Build an architecture that depends on availability in numbers, push traffic through it in the PRISM simulator, and see the latency and error rates change as you adjust the design.