Understanding Service Level Agreements (SLA), SLOs, and Error Budgets
In modern cloud systems engineering and Site Reliability Engineering (SRE), defining precise reliability targets prevents over-engineering while establishing clear operational boundaries between engineering teams and end users.
The "Nines" of Availability Explained
- 99.0% (Two Nines): Allows up to 3.65 days of downtime per year. Typical for internal staging environments or non-critical batch processing tools.
- 99.9% (Three Nines): Allows 8.77 hours of downtime per year (~43.8 minutes per month). Standard benchmark for modern SaaS applications.
- 99.95%: Allows 4.38 hours of downtime per year (~21.9 minutes per month). Common standard for cloud infrastructure providers (e.g. AWS EC2 Single Instance, Azure App Services).
- 99.99% (Four Nines): Allows only 52.6 minutes of downtime per year (~4.38 minutes per month). Requires automated multi-AZ failovers, health check self-healing, and zero-downtime deployment pipelines.
- 99.999% (Five Nines): Allows only 5.26 minutes of downtime per year (~26.3 seconds per month). Critical telecommunications, financial payment rails, and global distributed databases.
Composite System SLAs: Serial vs. Parallel Topology
A distributed system is rarely a single monolithic box. When user requests traverse a chain of independent microservices:
- Serial Dependencies: When Service A must call Service B, which calls Service C, total availability is multiplicative (
SLA_total = SLA_A Γ SLA_B Γ SLA_C). Chaining three services with 99.9% availability drops total system availability to 99.7% (over 26 hours of downtime/year!). - Parallel / Redundant Systems: When a service is deployed across redundant active-active or active-passive instances, the total probability of failure is the product of individual failures (
Unavailability_total = (1 - SLA_A) Γ (1 - SLA_B)). Two 99.9% instances in parallel deliver 99.9999% effective availability.
Google SRE Multi-Window Multi-Burn-Rate Alerting
Rather than alerting on transient spikes, modern SRE teams track Error Budget Burn Rates:
- A 14.4x burn rate over a 1-hour window consumes 2% of the monthly error budget in 60 minutes. This indicates a severe outage and demands immediate on-call engineer paging.
- A 6.0x burn rate over a 6-hour window consumes 5% of the monthly error budget, requiring automated paging before user impact accumulates.