Composite SLA Calculation: Combining Multiple Service SLAs

Learn how to calculate composite SLAs when your application depends on multiple services. Understand serial and parallel dependency models with real-world examples.

SRE Practices

Detailed Explanation

What Is a Composite SLA?

When your application depends on multiple services (database, cache, message queue, CDN), the overall availability is determined by how these dependencies combine. A composite SLA is the calculated availability of the entire system based on individual component SLAs.

Serial Dependencies (AND)

When services are chained in series — meaning all must be available for the system to work — you multiply their SLAs:

Composite SLA = SLA_A x SLA_B x SLA_C

Example: Web App → API → Database

Component SLA
Web Server (EC2) 99.99%
API Layer (ECS) 99.99%
Database (RDS Multi-AZ) 99.95%
Composite = 0.9999 x 0.9999 x 0.9995 = 0.9993 = 99.93%

Three services each at ~99.99% combine to give only 99.93% — lower than any individual component. Each additional serial dependency reduces overall availability.

Parallel Dependencies (OR)

When redundant services are in parallel — meaning the system works if at least one is available — the formula becomes:

Composite SLA = 1 - (1 - SLA_A) x (1 - SLA_B)

Example: Primary DB + Read Replica (either can serve reads)

Composite = 1 - (1 - 0.999) x (1 - 0.999)
         = 1 - 0.001 x 0.001
         = 1 - 0.000001
         = 0.999999 = 99.9999%

Two 99.9% components in parallel give 99.9999% (six nines) for that specific function.

Mixed Architecture Example

User → [CDN (99.99%)]
       → [Load Balancer (99.99%)]
       → [App Server A (99.9%) || App Server B (99.9%)]  ← parallel
       → [Primary DB (99.95%) || Replica DB (99.95%)]    ← parallel
App Servers parallel: 1 - (0.001 x 0.001) = 99.9999%
DB parallel: 1 - (0.0005 x 0.0005) = 99.999975%
Serial chain: 0.9999 x 0.9999 x 0.999999 x 0.99999975 ≈ 99.98%

Key Insight

Adding parallel redundancy improves availability dramatically, but every serial dependency degrades it. The weakest serial link dominates your composite SLA.

Use Case

Use composite SLA calculations when designing multi-tier architectures, negotiating SLA commitments with customers, identifying availability bottlenecks, and deciding where to add redundancy for the greatest impact.

Try It — Uptime Calculator

Open full tool