From Load Balancing to Application Delivery Controllers
As the web evolves, so does the way back-end systems manage the increasing load of users and requests. In the early days of web technology, networks used physical server farms to handle the growing loads. A hardware server load balancer ensured availability of applications for users in these times. Working at a TCP connection level, these load balancers worked to make sure none of the servers were overloaded by requests at any given time.
However, as server environments and networks continue to grow more complex, they demand innovative new solutions for traffic and data management. This has led to the rise of the Application Delivery Controller - a load balancing solution that handles much more than load balancing.
Early Load Balancers
The original load balancers used simple algorithms and metrics to direct requests to the appropriate servers in the network, balancing the load of requests across the available machines. These dedicated hardware balancers were able to handle the traffic of the growing web and ensure that user requests were sent to the same server, helping improve network performance and user satisfaction. Learn more about how load balancing works here.
These relatively simple load balancers performed admirably in that period - however, soon the web would become a more complex and busy place. The number of users on networks skyrocketed as time went on, as did the power of computers and other devices. Requests were now larger, more frequent, and more complicated than the early days of networking. Load balancers needed to evolve beyond spreading requests across multiple servers, and start spreading requests based on other factors such as media type, location, and more.
With the need to direct traffic based on the type of request, load balancers had a need to look deeper into requests. Manufacturers developed ways to analyze and manipulate HTTP headers to determine action. Analyzing this "Layer 7" header information allows the balancer to make better decisions and optimize the performance of the network to a greater degree.
Privacy concerns created a rise in the number of encrypted traffic and requests as well. Balancers needed to work with outside appliances that de-encrypted requests during SSL sessions, which could further slow down the network and performance for users. SSL accelerators and offloading help take the burden when processing these requests. But they also created headaches for IT departments - as the number of devices necessary to run the network increased, the challenges in maintaining performance multiplied.
Time for a New Technology
Due to the changes above and the rise in internet users, network administrators began looking for new ways to handle traffic. Load balancing is still an important task, but just one of many now. As such, having a dedicated load balancer piece of hardware has become less efficient than a machine that combines many tasks. Maintaining a quality user experience requires powerful solutions - which is where the Application Delivery Controller (ADC) becomes crucial.
Learn more about Application Delivery Controllers in Part II