Server Load Balancers

From LB Wiki

Jump to: navigation, search

Server Load Balancers, known also as application delivery controllers and simply "load balancers", is a class of devices known to provide the following:

  • Load balancing of inbound requests
  • SSL termination and acceleration
  • Health checking
  • Application integration
  • To some extent, security

Nomenclature

In the late '90s, the network devices that distributed load amongst servers were referred to as "server load balancers", or load balancers for short, and an industry was born. Several vendors used different terms, but the generic term "load balancer" has stuck. They were relatively simple devices, and didn't operate above Layer 4. Today, the terms "application delivery controller" (ADC for short), "application switch", "application controller", and other variations have been introduced to fully account for the myriad of functionality that these devices now offer.

There is something of an ongoing debate on the proper terminology for these devices. An argument can be made for the merits of the generic and widely known "load balancer" as well as the more descriptive and modern "application delivery controller". Typically, this site refers to the more generic term as to be more accessible, but will occasionally use the ADC term.

Basic Functionality

The most basic function of a load balancer is to accept incoming traffic and divide it up amongst one or more servers (figure 1).

Basic Load Balancer Functionality

Figure 1: Basic Load Balancer Functionality

There's a lot more detail to it of course, but in a nutshell, that's what load balancers do.

In addition to this basic load distribution, load balancers typically also perform the following:

  • Configurable Load Distribution Algorithm: How traffic is divided up amongst available servers (round-robin, least connection, etc.).
  • Health Checking: Perform some type of health check on a server to assess if it is available, or if it's out of service.
  • Persistence: Keep individual users tied to specific web servers.
  • Inspect HTTP headers.
  • SSL Termination: Terminating the SSL/TLS connection to look at headers, to pass traffic to servers in plain-text (saving the servers from the CPU-intensive SSL work), or to re-encrypt to keep data protected over the wire.

There are some more advanced features now being seen in the high end of the load balancing market:

  • Control languages: A type of scripting/programming language giving the load balancers the ability to more precisely control traffic based on any number of parameters
  • Security: From credit card scrubbers to SQL injections, they take a look at the incoming and outgoing HTTP streams can filter or deny traffic before it goes to the servers or the clients. Typically, this is only in the HTTP realm.
  • Intelligent Content Caching and Acceleration: A variety of methods can be employed to compensate for high latency and bandwidth restrictions
  • TCP Multiplexing: Re-using active TCP links sent to servers

History

Rise Of The Machines

As the Internet started to become an important commercial platform, devices started to crop up to address a need for redundancy and scalability. After all, it was much cheaper and easier just to add another server than it was to expand the capabilities of an existing one.

They started off as pretty simple Layer 4 devices, basically acting as NAT routers with some health checking. A persistence requirement lead the vendors to start developing Layer 7 functionality, which included cookie persistence and URL content switching.

They became one of the most celebrated aspects of a site's infrastructure, and companies like ArrowPoint, Alteon, HydraWeb, F5, and others became hugely successful (at least for a time). Some found huge pay days, such as Alteon (purchased by Norotel for $8 billion), and ArrowPoint (purchased by Cisco for $6.7 billion).

The Bust

After the dot-com bust, load balancers were largely out of favor. With a glut of equipment already out there and companies dramatically reducing their IT budget, load balancing vendors were hit pretty hard. A few were forced out of business. A few, like F5, were able to hang on by focusing heavily on load balancing. Still others focused on security.

The Renaissance

Starting sometime in 2005, things started to pick up. The fortunes seemed to have turned once again to favor load balancing vendors. Sales were up, and a new market had emerged in parallel to the traditional load balancing market, one that catered to small and medium-sized businesses.

There are still many vendors in existence.

Interesting Historical Bits

Alteon was known for some um, rather interesting marketing. This is a rejected ad, and it's not safe for work: Not Safe For Work!

One of the first load balancers was from a company called NTI, which was bought by Cisco and eventually became the Cisco LocalDirector.




Personal tools
Advertisements