.NET Architecture & System Design Interview Question #8

What is availability?

Architecture Fundamentals, Scalability, Availability & Performance Junior Beginner

Quick Interview Answer

Availability is the proportion of time a system is able to provide its intended service. It is commonly expressed as a percentage over a defined period, such as 99.9% monthly availability.

Detailed Explanation

Availability is the proportion of time a system is able to provide its intended service. It is commonly expressed as a percentage over a defined period, such as 99.9% monthly availability.

High availability requires more than multiple application instances. Dependencies such as databases, caches, DNS, networks, and external services must also be considered, along with detection, failover, and recovery procedures.

Code Example

Availability =
Uptime / Total Time

Example target:
99.9% monthly availability