Overview of ADC/Load Balancer
Application Delivery Controllers (ADC)/Load balancer distributes network traffic across servers. It acts as a reverse proxy to increase the reliability of the applications by distributing incoming traffic from clients across multiple server resources.
Three core functions of load balancers are:
-
Efficiently distribute Network Load or Client's Request across servers.
-
Sending requests to the server available, enabling high application availability.
-
Increase and decrease the number of servers based on traffic.
Types of ADC/Load Balancer
On a high level, there are 3 types of Load Balancer based on appliance:
Hardware-based Load Balancer
A Hardware-based load balancer typically has a dedicated hardware appliance with relevant features. These are expensive to purchase and maintain, but gives users the full control and comes in different hardware configuration based on traffic requirement.
-
F5
-
Citrix Netscaler -
A10 - AVI
- Nginx Plus
Cloud-Based Load Balancer
A Cloud-Based Load Balancer is available on the cloud with full features, without the headache of purchasing and maintaining the costly hardware. It gives the user the option of "Pay as you use".
-
Amazon Web Services (AWS)
-
Google Cloud (GC)
-
Microsoft Azure
Software-based Load Balancer
A software-based load balancer id is available as a code. It can be installed on the server to turn them into load balancers. It also gives you the flexibility of choosing your own platforms like Windows, Linux, or Docker.
-
HAProxy
-
Nginx
-
AVI