Skip to main content
RunBook Academy

LinuxLII · High Availability FundamentalsAvailability

Availability and reliability - the metrics that matter

Foundation⏱ ~10 minbash

What you'll learn

  • Define availability and reliability
  • Calculate the 9s and SLA
  • Distinguish MTBF and MTTR
  • Choose availability targets per service

Prerequisites

Verified against Ubuntu 24.04 LTS · Debian 12 (Bookworm) · RHEL 9.x · Rocky Linux 9.x · AlmaLinux 9.x · Linux kernel 6.1 LTS / 6.6 LTS · systemd 255+ · OpenSSH 8.7p1 (RHEL 9) / 9.6p1 (Ubuntu 24.04) · nftables 1.0.x · chrony 4.x · Pacemaker 2.1.x · Corosync 3.1.x · 2026-08-09

Not yet marked complete on this device.

Availability is the percentage of time a service is working. Reliability is the probability that a service works at a given time. This lesson covers the metrics and their trade-offs.

The 9s

AvailabilityDowntime / yearDowntime / month
99% (“two 9s”)3.65 days7.2 hours
99.9% (“three 9s”)8.77 hours43.8 minutes
99.99% (“four 9s”)52.6 minutes4.38 minutes
99.999% (“five 9s”)5.26 minutes26.3 seconds

Each “9” requires 10x more effort than the last. Going from 99.9% to 99.99% is much harder than 99% to 99.9%.

MTBF and MTTR

  • MTBF (Mean Time Between Failures): average time between failures.
  • MTTR (Mean Time To Repair): average time to restore service.

Availability = MTBF / (MTBF + MTTR)

To improve availability:

  • Increase MTBF: prevent failures (better hardware, better software, monitoring).
  • Decrease MTTR: faster detection (monitoring), faster recovery (runbooks, automation).

Often decreasing MTTR is cheaper than increasing MTBF. A fast restore makes 99.9% achievable; preventing the failure in the first place is much harder.

SLA

An SLA (Service Level Agreement) is a contract with the customer. It typically specifies:

  • Availability target (e.g. 99.9%).
  • Response time (e.g. p99 < 1 second).
  • Support response time (e.g. 1 hour for critical).
  • Credits for missing the SLA.

SLAs are a business commitment. Designing to meet the SLA is an engineering discipline.

Per-service targets

Different services have different availability targets:

  • Authentication: 99.99% (downtime is felt fleet-wide).
  • Customer-facing API: 99.9%.
  • Internal tooling: 99% (downtime is acceptable).
  • Background processing: best-effort.

Match the engineering to the target. Over-engineering a 99% service for 99.99% wastes resources.

Knowledge check

Knowledge check · 3 questions

  1. Q1. What is the downtime for 99.9% availability per year?

  2. Q2. Halving MTTR improves availability by exactly as much as doubling MTBF.

  3. Q3. Which of the following are valid ways to improve availability? Select all that apply.

Passing score: 75%. Answers are checked in this browser.