NSI/IEEE 1991 defines reliability as “the probability of failure-free software operation for a specified period of time in a specified environment”. That sounds pretty much like my definition of availability.
Notes
- Ensure every branch of your code is tested
- Ensure all exceptions are caught and properly handled
- Prefer
Result<T, E> over Option<T> for error handling