Availability
- The ability of a system to be accessible and usable by users when they need it
Reliability
- The ability of a system to perform its intended function without interruption and with a high degree of accuracy
- Achieved through multi-region deployments
- Data backup and replication
- Health probes and self-healing
Availability vs Reliability
- A system can be highly available to users
- In that it responds instantly to every request
- However, don’t look behind the curtain!
- The system itself might be highly unreliable
- Availability is an appearance to end users
- Reliability is the underlying truth
Predictability
- The ability to forecast and control the performance and behavior of a system
- Includes the ability to predict future costs
Why Is It Needed?
- Predictability gives you the confidence that the
system will continue to perform at the expected
level in the future - And of course that you won’t get a crazy bill
unexpectedly
How Is It Achieved?
- Autoscaling
- Load balancing
- Different instance types, sizes, pricing tiers
- Cost management tools
- API
- Pricing calculators