High availability clusters are often used for load balancing, backup and failover purposes. To properly configure a high-availability (HA) cluster, the hosts in the cluster must all have access to the same shared storage. This allows virtual machines (VMs) on a given host to fail over to another host without any downtime in the event of a failure
- Data Backups
- Recovery and Replication
- Clustering
- Fail Over Solutions
- Geographic redundancy
- Plan for failure
When Is High Availability Important ?
When setting up robust production systems, minimizing downtime and service interruptions is often a high priority. Regardless of how reliable your systems and software are, problems can occur that can bring down your applications or your servers.
Implementing high availability for your infrastructure is a useful strategy to reduce the impact of these types of events. Highly available systems can recover from server or component failure automatically.

Environment:
if all your servers are located in the same geographical area, an environmental condition such as an earthquake or flooding could take your whole system down. Having redundant servers in different datacenters and geographical areas will increase reliability.
SOFTWARE AND HARDWARE
highly available servers should be resilient to power outages and hardware failures, including hard disks and network interfaces. the whole software stack, including the operating system and the application itself, must be prepared for handling unexpected failure that could potentially require a system restart, for instance.
DATA AND NETWORK
Data loss and inconsistency can be caused by several factors, and it’s not restricted to hard disk failures. Highly available systems must account for data safety in the event of a failure. unplanned network outages represent another possible point of failure for highly available systems. It is important that a redundant network strategy is in place for possible failures.