Availability¶
A system is available if it is able to perform its functionality (uptime/total time). 6 Reliability 2023112801224646 Reliability implies availability but availability does not imply reliability.
Percentage of availability = (total elapsed time – sum of downtime)/total elapsed time SLA - 99.999
| Availability (%) | Downtime (per year) |
| 90% (one nine of availability) | 36.53 days |
| 99% (two nines of availability) | 3.65 days |
| 99.9% (three nines of availability) | 8.77 hours |
| 99.95% (three and a half nines of availability) | 4.38 hours |
| 99.99% (four nines of availability) | 52.60 minutes |
| 99.995% (four and a half nines of availability) | 26.30 minutes |
| 99.999% (five nines of availability) | 5.26 minutes |
💡 To increase availability, you need redundancy.
Challenges¶
- replication
- customer redirection DNS, load balancer
- types of high availability
- active-passive
- active-active
- 💡 Stateless applications work better for active-active systems
References¶
- https://www.bmc.com/blogs/reliability-vs-availability/
- AWS EssentialsModule 6
- AWS whitepaper: High availability and scalability on AWS(opens in a new tab)
- AWS documentation: Reliability Pillar – AWS Well-Architected Framework(opens in a new tab)
- AWS website: Amazon EC2 Auto Scaling
- https://www.tryexponent.com/courses/system-design-interview/fundamentals-system-design/system-design-principles