Understanding high availability
High availability is an architectural design approach and associated service implementation that is used to guarantee the reliability of a service. Availability is directly associated with the uptime and usability of a service. This means that the downtime should be reduced to achieve an agreement on that service.
We can distinguish between two kinds of downtimes:
Scheduled or planned downtimes
Unscheduled or unexpected downtimes
To distinguish between scheduled downtimes, we can include:
System patching
Hardware expansion or hardware replacement
Software maintenance
All that is normally a planned maintenance task
Unfortunately, all these downtimes will interrupt your service, but you have to agree that they can be planned into a maintenance window that is agreed upon.
The unexpected downtime normally arises from a failure, and it can be caused by one of the following reasons:
Human error
Hardware failure
Software failure
Physical events
Unscheduled downtimes also include...