SLA & Uptime Calculator
Convert uptime percentages to allowed downtime per year, month, week and day. Calculate composite SLAs for multi-service systems where all services must be available.
When services run in series, the combined SLA is the product of all individual SLAs. Add each service below.
Why Downtime Budgets Shrink Fast as Systems Grow
A single service at 99.95% availability has a comfortable-looking downtime budget of about 4.4 hours a year. Chain five such services together in a synchronous critical path โ where a request has to succeed through all five for the user-facing request to succeed โ and the composite availability drops to roughly 99.75%, because the calculator multiplies each service's SLA together rather than averaging them. That's nearly an extra hour of yearly downtime that doesn't show up anywhere if you only inspect each dependency's SLA in isolation, and it's the reason microservice architectures with long synchronous call chains are structurally harder to keep reliable than a monolith with the same per-component reliability. The more services you add to a critical path, the faster the composite number falls away from any individual component's headline figure โ this is exactly why architects work to minimize synchronous dependency depth and lean on caching, async processing, and graceful degradation instead of assuming reliability just adds up.
Redundant, parallel paths behave in the opposite direction, but only if modeled correctly. Two independent, active-active paths each at 99% availability don't combine to 198% (which is meaningless) or stay at 99% โ they combine multiplicatively against their failure probability: 1 - (1-0.99)ร(1-0.99) โ 99.99%. At scale, this is the entire economic argument for redundancy: doubling a mediocre component's reliability through parallel paths can outperform a single component that costs far more to make marginally more reliable on its own.
The Arithmetic Behind Every Figure on This Page
Converting a percentage into concrete downtime uses one formula: downtime = period ร (1 - SLA% / 100). Applied to a 99.9% SLA over a 30-day month, that's 30 ร 24 ร 60 minutes ร (1 - 0.999) = 43.2 minutes. The same formula scales to any period โ a year, a week, a single day โ simply by changing the period value, which is how the calculator produces the full table of downtime figures from one input. Composite SLA for services chained in series multiplies the individual figures together โ composite = SLA_A ร SLA_B ร SLA_C โ reflecting the fact that all components must be simultaneously operational for the composite system to be considered up. Parallel redundant paths use the complementary formula shown above, working from each path's failure probability rather than its uptime, because failure probabilities (not availability percentages) are what combine multiplicatively when paths are truly independent.
Where Uptime Math Bumps Into Security Commitments
SLA calculations intersect with security in a way that's easy to overlook: most vendor and internal SLAs define "downtime" purely in terms of service unavailability, without addressing whether a security incident that degrades functionality โ a DDoS attack causing severe latency without full unavailability, or a service that's technically "up" but returning errors due to a security control blocking traffic โ counts against the SLA at all. Contract language here matters as much as the arithmetic: a well-written SLA specifies whether a mitigated attack that only slows response times counts as a breach, and whether time spent in incident response for a security event is excluded the same way scheduled maintenance typically is. Teams that only run the numbers on "planned" outages and never model a security-incident scenario often discover, mid-incident, that their contractual and internal downtime definitions don't actually agree on what counts.
The Quarter a Single Dependency Ate the Whole Error Budget
A generic, illustrative case worth internalizing: a platform team commits to a 99.9% external SLA and sets an internal SLO of 99.95%, giving themselves what looks like a healthy safety margin. Partway through a quarter, they discover that a single third-party authentication provider they depend on synchronously โ used for every login โ has its own SLA of only 99.5%, far looser than anything else in their stack. Because that dependency sits in the critical path for every request, the team's actual composite availability was never going to reach 99.95% no matter how reliable their own code was; the third-party dependency alone consumed more error budget than the entire internal target allowed. The fix wasn't better code โ it was moving authentication to an async, cacheable check with a fallback path, so a single external SLA no longer capped the ceiling of the whole system's composite availability.
Frequently Asked Questions
What does 99.9% SLA mean in practice?
A 99.9% SLA (three nines) allows approximately 8 hours and 46 minutes of downtime per year, or about 43 minutes per month. While that sounds modest, for a customer-facing e-commerce platform, 43 minutes of monthly downtime during peak hours could translate into significant lost revenue and customer churn. Engineering teams typically target an internal SLO stricter than the SLA โ for instance, an internal 99.95% target to ensure they have a safety buffer before a contractual breach.
How is composite SLA calculated?
Composite SLA is calculated by multiplying the individual SLAs of all services in series. For example, if Service A has 99.9% and Service B has 99.95%, the composite SLA is 99.9% ร 99.95% = 99.85%. This multiplicative degradation means that adding more dependencies always reduces overall availability โ even if every individual service is highly reliable. For this reason, architects aim to minimise the number of synchronous dependencies in the critical path, and use async patterns or caching to decouple services where possible.
What is the difference between an SLA, SLO, and SLI?
An SLI (Service Level Indicator) is the actual metric being measured, such as request latency, error rate, or availability percentage โ the raw signal from your monitoring system. An SLO (Service Level Objective) is the internal target you set for that SLI, for example "99.9% of requests succeed" or "p99 latency stays below 500ms". An SLA (Service Level Agreement) is the formal contractual commitment made to customers, typically with financial penalties such as service credits for breaches. Best practice is to set SLOs tighter than SLAs so that engineering teams receive an early warning before a customer-facing commitment is violated.