High availability (HA) refers to a system’s ability to operate continuously – without downtime or failure – usually by using built‑in failover mechanisms. High availability systems are designed to operate without fail even in the case of unexpected events.
The main goal of HA is to avoid downtime, which is the period of time when a system, service, application, cloud service, or feature is either unavailable or not functioning properly. Downtime results in lost revenue, decreased productivity, and damage to a company’s reputation. This makes HA important for:
There are several types of HA, which can be classified based on the level of redundancy needed, the type of failure tolerance required, and the kind of system that is being protected. The most common types of HA include:
This diagram shows an active-passive HA cluster of two NGINX Plus servers. NGINX also supports active-active and other HA configurations.
Redundancy and failover mechanisms prevent single points of failure such that the failure of a component doesn’t disturb the operation of the overall system, application, or feature. Common mechanisms include:
The services and resources your need to deploy to provide HA depend on the type of system, the type of HA, and your organization’s specific requirements specific. Supporting elements include:
Following best practices improves operational performance and minimizes costly downtime. These common best practices can be tailored to the systems, locations, and desired outcomes of an organization.