What is High Availability Load Balancing?
Today’s enterprises are more dependent on their networks than ever. Trends like mobile broadband, multi-cloud and hybrid cloud, virtualization, remote work, and bring your own device (BYOD) enable employees to be productive from almost anywhere—as long as they have reliable connectivity. That puts tremendous pressure on IT to ensure high availability for mission-critical applications such as ERP, communication and collaboration systems, and virtual desktop infrastructure (VDI).
Even the most robust and reliable software and systems can fail. To avoid interruptions and downtime, IT needs to implement a high availability architecture that uses redundancy and fault tolerance to enable continuous operation and fast disaster recovery. This is true for every element of your data center—from high availability for applications to high availability for the load balancer or application delivery controller (ADC) that manages network traffic within and across the data centers in your environment.
High Availability Matters for your Load Balancer or Application Delivery Controller
High availability begins with identifying and eliminating single points of failure in your infrastructure that might trigger a service interruption—for example, by deploying redundant components to provide fault tolerance in the event that one of the devices fails. Load balancing, whether provided through a standalone device or as a feature of an ADC, facilitates this process by performing health checks on servers, detecting potential failures, and redirecting traffic as needed to ensure uninterrupted service.
While ensuring fault tolerance for servers is obviously critical, a high availability architecture must also take into account the load balancing layer itself. If this becomes unable to perform its function effectively, the servers below run the risk of overflow, potentially compromising their own health as well as application performance and application availability. This makes redundancy just as important for the load balancer or ADC as for any other component in the data center.
As with a high availability server cluster, there are several ways in which load balancers or ADCs can be deployed to provide high availability, including:
- Active-standby – The most common configuration, the active-standby model includes a fully redundant instance of each ADC which is brought online only in the event that its primary node fails. Each active ADC can be configured differently, though each active-standby pair will share the same configuration.
- Active-active – In this model, multiple similarly configured ADCs are deployed for routine use. In the event that one node fails, its traffic is taken over by one or more of the remaining nodes and load balanced as needed to ensure consistent service. This approach assumes that there will be sufficient capacity available across the cluster for it to function even when one ADC is unavailable.
- N+1 – Providing redundancy at a lower cost than active-standby, an N+1 configuration includes one or more extra ADCs that can be brought online in the event that any of the primary ADCs fails.
In each case, rapid failover enables fault tolerance and disaster recovery for the load balancing function so that application performance and application availability are not affected by the failure. Failover and traffic management is typically managed through a version of the Virtual Router Redundancy Protocol redundancy standard.
Key High Availability Features for your Load Balancer or ADC
In addition to ensuring high availability for your ADC, you should also make sure that your ADC provides high availability for the applications whose traffic it manages. In the event that a server fails, the ADC can reroute traffic to another available server in the cluster. Key features that enable this function include:
- Load balancing methods – There are several methods that can be used for server selection, including round robin, least connections, weighted round robin, weighted least connections, fastest response, and more. Your ADC should offer all of these options to allow the most suitable configuration for your environment and priorities.
- Health monitoring – To ensure rapid failover with little or no downtime, server health should be continuously assessed based on a number of indicators, including:
- Time series of total bytes in and out from each server
- Time series of traffic rates (in Mbps) in and out from each server
- Percent of error traffic over range
- Number of good SSL connections
- Average application server latency by service
- Client-side latency SRTT, max, min, and average as a time series
- Custom health checks such as measuring the response time for specific SQL database queries
- High availability load balancing (HALB)
- Percentage of uptime
- AWS High Availability