- Scalability
- Reliability
- Availability
- Efficiency
- Manageability
Scalability
- Ability of a system to grow and manage increased traffic
- Increased volume of data or request
Reliability
- Probability a system will fail during a period of time
- Slightly harder to define than availability
- Mean time b/w failure
MTBF = (Total elapsed time – Total downtime ) / No. of failures
Eg: (24 hrs – 4 hrs) / 4 failures = 5 hrs MTBF
Availability
- Amount of time a system is operational during a period of time
- Poorly designed software requiring downtime for update is less availability
Availability % = (available time / total time ) x 100
Eg: (23 hrs / 24 hrs) x 100 = 95.83%
Show table for downtime 9’s
Availability | Annual Downtime |
---|---|
99% | 3 days 15 hrs 40 mins |
99.9% | 8 hrs 46 mins |
99.99% | 52 mins 36 secs |
99.999% | 5.26 mins |
Efficiency
- How will the system perform
- Latency & throughput often used as metrics
Managability
- Spend & difficulty involved with maintaining system
- Observability, how hard to trace bugs
- Difficulty of deploying updates
- Want to abstract away implementation so product efficiency don’t have to worry about it