How to calculate availability

Availability is expressed as the percentage of time a system is operational: Availability = (Uptime ÷ Total time) × 100

The inverse gives allowed downtime: Downtime = Total time × (1 − Availability ÷ 100)

Common availability targets

TargetNinesAnnual downtimeTypical use case
99%Two nines87h 36mInternal tools, dev environments
99.9%Three nines8h 45mConsumer SaaS, e-commerce
99.99%Four nines52m 35sEnterprise SaaS, payment systems
99.999%Five nines5m 15sTelecoms, financial exchanges
99.9999%Six nines31.5sSafety-critical systems

Composite availability

When a system depends on multiple components, overall availability is the product of each component's availability. Two services each at 99.9% produce a combined availability of 99.8% (0.999 × 0.999 = 0.998001).

This is why adding dependencies always reduces theoretical availability — every additional service, database, or third-party API is another failure point.

Availability vs reliability

Availability measures whether a system is up right now. Reliability measures how consistently it performs over time. A system can be highly available but unreliable — returning errors while technically responding. SLOs typically measure both: availability (is it up?) and request success rate (is it working correctly?). See SLO vs SLA vs SLI for the full picture.

Planned vs unplanned downtime

Most SLAs distinguish between planned maintenance and unplanned outages. Planned windows — scheduled deployments, database migrations, infrastructure upgrades — are typically excluded from SLA calculations provided adequate advance notice is given to customers. Unplanned outages count against the SLA in full.

At four nines and above, even planned maintenance must be zero-downtime by default, since the annual budget (52 minutes) is too small to accommodate traditional maintenance windows.