Availability
Availability is a quality attribute of an IT system that refers to the proportion of time that a system remains operational and accessible to users, even under heavy load and even when parts of the system fail.
Availability is closely related to scalability and fault tolerance. As per the ISO/IEC 25010 standard, availability is a sub-characteristic of reliability. In cloud platforms it is commonly achieved by replicating workloads across availability zones.
Availability is typically expressed as a percentage of uptime over a given period. For example, a system that has an uptime of 99.9% is side to have "three nines of availability".
Availability % |
Downtime per year |
99% ("two nines") |
3.65 days |
99.9% ("three nines") |
8.76 hours |
99.99% ("four nines") |
52.56 minutes |
99.999% ("five nines") |
5.26 minutes |
99.9999% ("six nines") |
31.5 seconds |
In software-as-a-service, software vendors use service level agreements to commit to keeping availability above a stated threshold over a billing period.
The two main components of availability are failover and replication or redundancy. Failover is the ability of a system to switch to a backup component in the event of a failure, while replication is the creation of multiple copies of a system or its components to ensure that there is always a backup available. Both of the qualities in combination are required to delivery high availability.