From the earliest days of the Internet era, it was painfully obvious that having a single application on a single server can’t handle high-traffic situations. This limited set up simply could not provide high-availability.
No matter how powerful the underlying infrastructure of a single server instance of a given application or website, the reality is that concurrent traffic can overwhelm a single server. A solitary instance for application availability is quite literally a single point of failure.
To handle this load, the technique commonly referred to as load balancing was developed. It’s an approach that enables organizations to execute workload balancing across different server and compute resources. The benefit of load balancing is that traffic and workload delivery are “balanced” or spread across available resources in an effort to provide higher resilience and availability.
In recent years, load balancing has become a feature of a broader class of technology, known as Application Delivery Controllers (ADC) which aims to provide multiple advanced load balancing features to ensure workload balancing, along with an overall high quality of application delivery.
Load Balancing Architecture: How Does Load Balancing Work?
At the most basic level, load balancing techniques tend to rely on several key factors:
- Compute Resource Availability. Rather than relying on a single server or compute instance, load balancing requires multiple resources, be they server, virtual or networking to distribute the load.
- Content and Workload Duplication. Beyond just having multiple infrastructure resource, load balancing often involves duplication of content and applications workloads, such that more than one copy of a resource can be accesses.
- Load Balancing Cluster. The set of multiple resources and workload instances need to be managed in some way, which is where the load balancing cluster concept comes in. An ADC system, or load balancing appliance in that context can provides orchestration and management of resources to enable high-availability.
- Load Balancing Security. Often ADCs are now used as appliances and control points for security, helping to protect against various types of potential attacks, including Denial of Service (DOS).
Types of Load Balancing
There are several types of load balancing configurations that an organization can choose to deploy which provide different load balance features. In some cases an organization will apply multiple configuration types in tandem, as part of a load balance appliance, or an ADC appliance.
Server Load Balance
- With server load balancing, the goal is to distribute workloads across available server resources based on availability and capabilities.
- Server Load balancer configurations tend to rely on application layer traffic to route requests. Server load balancing is also sometimes referred to as Layer 7 load balancing as it makes use of application layer traffic.
Network Load Balance
- Distributes traffic flow across IP addresses, switches and routers to maximize utilization and availability.
- Network load balancer configurations are made at the transport layer and data traffic.
- Network load balancing is also sometimes referred to as Layer 4 balancing.
Global Server Load Balancing (GSLB)
- With Global Server Load Balancing an operator handles workload balancing across a globally distributed set of Layer 4 and Layer 7 capable load balance.
- In a GSLB deployment, there are also typically ADC assets at the global level, as well as the local level where the traffic is finally delivered.
Container Load Balance
- With containers, which provided virtual isolated instances of applications, workload availability is also enabled via load balancing clusters.
- Among the most popular approaches is the open source Kubernertes container orchestration system which can distribute load across container pods to help balance availability.
Cloud Load Balancer
- Within a cloud infrastructure as a service provider there are often multiple options for load balancing across compute instances.
- Load balancing in the cloud, can also include both network (layer 4) and application (layer 7) balancing.
Load Balancing Methods
There are variety of load balancing techniques that can be uses in different configurations in order to provide workload balancing.
How It Works
|A set of IPs for server or network resources are provided and traffic is directed to resources in the order listed.|
Weighted Round Robin
|Each compute or network resource in a list is provided a weighted score, with the highest weight getting the most traffic.|
|The resource with the fewest number of active connections is directed to get new incoming requests.|
Weighted Response Time
|Information about server instance response time is used to direct traffic, with the slowest servers getting the least amount of traffic.|
Source IP Hash
|The IP address of the client and the receiving compute instance are computed with a cryptographic algorithm (the “hash” to help keep clients connected to the same resource.|