Hardware & Software Server Load Balancers for Web & Applications

How load balancers work. How to choose a load balancer. Load balancers for high availability. Brands, features, types, layer 4, layer 7.

Server load balancers (SLB) split up network traffic from users to multiple computer servers (a cluster). The servers are transparent to the users, who only see one server. This allows servers to be added (scale out) as traffic grows instead of replacing the server with a more powerful and expensive (scale up) multi-processor (SMP) server.

Applications that can be load-balanced include Internet web applications, SAP, Windows Terminal Server, Microsoft Exchange, Microsoft Sharepoint Server, and VMware Virtual Desktop. Some types of software, such as database servers, have their own load balancing solution from the software vendor. One example is Oracle's RAC (Real Application Cluster).

Load balancers can also be used to implement high availability clusters. Additional functions such as SSL acceleration (SSL offloading), web caching, firewall and IPS (Intrusion Prevention System) are often built into the load balancer. These more sophisticated SLBs are sometimes called application delivery controllers (ADC) or application front-end devices (AFE).

Examples of load balancers include Citrix (NetScaler), F5 (BIG-IP), Cisco (Ace), A10, Brocade (Foundry), Radware, Kemp, Alteon, Barracuda, Ultra Monkey (Linux open source software), and Coyote Point. Prices start from as low as a few thousand dollars for those targeted at SMBs (Small and Medium Businesses) and can reach tens of thousands of dollars and more for enterprise systems.

Load balancers are usually dedicated rackmount appliances, about 1U to 2U in height. Internally they can be general purpose computers, ASIC hardware, or a combination of the two. Software-only versions are sometimes available, for running as a virtual machine inside a generic x86 server.

How Virtual IP Load Balancers Work

A load balancer sits between the users and the servers. It is assigned an IP address. This is called a virtual IP (VIP) because it doesn't correspond to a physical server. Users connect to this VIP, thinking that it is a server. The load balancer then redirects the connection to one of the servers.

A layer 4 load balancer (layer 4 is the transport layer, in the OSI seven-layer protocol model) works on the TCP network level. It doesn't understand application-specific information (such as HTTP, RDP) and therefore has difficulty reconnecting a client to the same server with subsequent TCP connections. Login sessions are lost. At most it can remember the client's IP address, but even this can change if the client connects through more than one proxy server.

A layer 7 (application layer) load balancer understands application-level information (deep packet inspection). This allows it to track login sessions and redirect the client to the same server for subsequent connections (also called persistence or server affinity). Each application's protocol is different. Load balancers will differ in the types of applications supported.

Load balancers also differ in how their load balancing algorithm works. Most support more than one algorithm:

  • Round Robin or sequential.
  • Random.
  • Server weightage. More powerful servers can be given higher weightage and assigned more connections.
  • Resource based. The server with the lightest load (CPU, RAM) is assigned.
  • Session count. The server with the fewest connections is assigned.

Load Balancer High Availability

Load balancers can provide high availability together with load balancing. The effect of a crashed server on service levels is minimized, as traffic is directed only to operational servers. One advantage over a conventional (non load balanced, cluster failover) high availability cluster is that all servers are used, instead of having one server idling in passive standby mode.

A layer 4 load balancer provides some basic high availability because it can detect when a server's network (TCP/IP) connection is not responding. The load balancer can then ignore the server and send users to other servers in the cluster. However it is possible that the application has crashed but the network connection is still working.

A layer 7 load balancer can test the functionality of the application, a more accurate method of identifying non operational servers. It therefore provides better high availability performance.

To avoid being a single point of failure, two load balancers should be able to work together as a high availability failover cluster.

Global or multi-site load balancers can redirect traffic to servers in more than one geographical location. This allows:

  • Multi-site failover or disaster recovery. The total loss of a single site does not disrupt operations.
  • Location-based load balancing. Users are redirected to the server closest to them, improving their network response.

How to Choose the Right Server Load Balancer

It is important that the load balancer fits the application being deployed, especially in preserving login sessions. Understanding the various load balancing methods and options will help. Gabe Knuth has an article on Windows Terminal Services load balancing, while Brian Madden looks at load balancing Windows Terminal Services with Kemp Technologies load balancers.

For general load balancer information, manufacturers such as Brocade, F5, A10, Kemp etc are a good source of information.

Photo of Kit Mun, Yuen Kit Mun

Yuen Kit Mun - Kit Mun is a self-confessed information junkie, reading an average of a book a week over the past two decades. His growing Internet ...

rss
Advertisement
Leave a comment

NOTE: Because you are not a Suite101 member, your comment will be moderated before it is viewable.
Submit
What is 0+3?
Advertisement
Advertisement