๐Ÿ“ˆ SRE

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.

๐Ÿ“– How to Use This Tool
โ–ผ
1
Set target SLA percentage (e.g. 99.9%)
2
View downtime per day, week, month, year
3
Add services for Composite SLA calculation
4
Combined SLA is always lower than individual
๐Ÿ“ Examples
Three 9s
Input: 99.9%
Output: ~8h 46min downtime/year
๐Ÿ“Š Uptime โ†’ Downtime
๐Ÿ”— Composite SLA (Multi-Service)

When services run in series, the combined SLA is the product of all individual SLAs. Add each service below.

๐Ÿ“‹ Common SLA Reference
SLAPer YearPer MonthPer Day

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.

Security Commitments Add a Wrinkle to Uptime Math

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.

How One Synchronous Dependency Can Cap Your Whole Error Budget

An internal SLO stricter than the external SLA looks like a safety margin on paper, but that margin only holds if every dependency in the critical path is at least as reliable as the target implies. A synchronous dependency with a looser SLA than the rest of the stack โ€” a third-party authentication provider, a payment gateway, a shared internal service used on every request โ€” puts a hard ceiling on the composite availability of anything that depends on it, no matter how reliable the rest of the code is; the multiplicative math above means the weakest synchronous link, not the average, determines how much of the error budget is actually available. This is easy to miss because most teams monitor their own service's reliability closely and treat a third party's SLA as a fixed, background constant rather than an input to their own composite-availability calculation โ€” the dependency's SLA doesn't need to change for it to become the dominant term in the equation; it only needs to sit on the synchronous critical path in the first place. The structural fix isn't improving the dependency's own reliability, which is usually outside your control anyway โ€” it's removing it from the synchronous path entirely: moving a check to an async, cacheable flow with a fallback, or accepting degraded functionality instead of a hard failure when that dependency is slow or unavailable, so its SLA no longer caps 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.