Calculate composite availability for dependent services. Multiply individual SLAs to find true end-to-end system availability.
When your application depends on multiple services in series — a load balancer, an API server, a database, and a cache — the overall availability is the product of each individual service's availability. This means your composite SLA is always lower than the weakest individual component.
This calculator lets you add multiple services, enter each one's SLA, and computes the combined end-to-end availability. It also translates the composite availability into allowed downtime per year and month, helping architects and SREs understand the real reliability implications of their service dependencies.
Understanding this metric in precise terms allows technology leaders to make evidence-based decisions about scaling, architecture, and infrastructure investment priorities for their organizations. Tracking this metric consistently enables technology teams to identify system performance trends and address potential issues before they impact end users or business operations.
Understanding this metric in precise terms allows technology leaders to make evidence-based decisions about scaling, architecture, and infrastructure investment priorities for their organizations.
Architects and SREs frequently underestimate how quickly availability degrades across dependent services. This calculator makes the multiplicative effect tangible, helping justify investments in redundancy, service mesh improvements, or reducing dependency chains. Regular monitoring of this value helps DevOps teams detect anomalies early and maintain the system reliability and performance that users and business stakeholders expect.
Composite SLA = SLA₁ × SLA₂ × ... × SLAₙ (as decimals). For three services at 99.9%: 0.999 × 0.999 × 0.999 = 0.997 = 99.7%.
Result: 99.84% composite availability
Three dependent services at 99.99%, 99.95%, and 99.9%: 0.9999 × 0.9995 × 0.999 = 0.9984 = 99.84%. This means about 14 hours of downtime per year — significantly more than any individual service alone.
The composite SLA formula reveals a critical truth about distributed systems: reliability degrades with complexity. Each additional serial dependency multiplies the probability of failure, not adds it.
Modern cloud applications often depend on 5-15 services. With each at 99.9%, a chain of 10 services yields approximately 99% composite availability — nearly 4 days of downtime per year. This drives architectural decisions toward reducing dependency chains and adding redundancy.
Reduce serial dependencies by caching, using asynchronous communication, and implementing circuit breakers. Add redundancy for critical components through active-active deployments across availability zones. Prioritize improving the lowest-SLA component for maximum composite improvement.
Service failures are rarely independent. Correlated failures (e.g., a regional cloud outage affecting multiple services) make actual composite availability lower than the theoretical calculation. Factor in common-cause failures during architecture reviews.
For parallel/redundant services, the combined availability is: 1 − (1 − A1)(1 − A2). Two services at 99.9% in parallel give 99.9999%. This calculator focuses on serial dependencies; for parallel, invert the failure probabilities.
Yes, microservices architectures often have deep dependency chains. A request that traverses 5-10 services can see significantly degraded composite availability, making this calculation essential for architecture reviews.
Check the provider's published SLA documentation. For internal services, calculate historical availability from monitoring data. Cloud providers like AWS, GCP, and Azure publish SLAs for each managed service.
If two services share a common dependency (e.g., same database), the failure is correlated. You should not multiply the availability of the shared component twice. Model the unique dependency chain, counting shared components once.
Not for serial dependencies — the composite is always less than or equal to the weakest link. However, for parallel redundancy (active-active failover), composite availability can exceed individual service availability.
Your customer-facing SLA should reflect the composite availability, not any individual dependency. Never promise higher availability than your composite SLA allows. Build margin by targeting internal SLOs higher than external SLAs.