How Application Delivery Controllers have moved beyond Server Load Balancing – F5 Big IP

Have you wondered how the big Internet/ Media companies are coping up with the huge server loads and connection requests they get from the Internet, (or) how the ERP applications could be centralized and distributed over thousands of users across the world? Well, all that is made possible not only by adding servers but also by introducing intelligent ‘load balancing’ devices called Application Delivery Controllers in the network! In this article, we will have a look at what one such ADC –  F5’s Big IP – Local Traffic Manager has to offer…

What is Load Balancing?

If there are any applications (web based or even otherwise) that needs to be accessed frequently by a large number of users (both in house through the  LAN/ WAN links and general public through the Internet), then one server will most probably not be enough to handle that huge load. So, we need to deploy multiple servers to handle the same. Now, deploying Load Balancers in front of them would ensure that the connection requests are distributed and balanced across all the servers, so that the server resources are optimally used to serve as many connections as possible and still give a good experience to the users accessing the applications. Initially, load balancers used to employ simple load balancing techniques starting from distributing connections to various servers using simple round robin to more complex techniques like measuring the number of concurrent connections already handled by each server before forwarding the new connection request to the server which was relatively free, among them.

What are Application Delivery Controllers?

Application Delivery Controllers are what Load Balancers have become, today. They connect to the various application servers at one end and to the WAN/ Internet cloud at the other. They act more like an invisible proxy.  When a user requests to connect to a particular application, their request first reaches the Application Delivery Controller. The ADC then changes the destination IP address to the most relevant server IP (as determined by its internal load balancing algorithms) by using NAT – Network Address Translation. There on, the server receives the request, processes it, and sends it back to the user. These packets are promptly interrupted by the ADC which does the reverse now: Change the IP address to the IP address of the user who requested the same, and send it over the WAN/ Internet Cloud. Thus, both the users and the servers still connect to each other but through the ADC which acts like a transparent proxy.

Actually, the various servers in an organization are not similar (in terms of processing resources) and each client utilizing the application doesn’t consume predictable amount of resources (server processor capacity, bandwidth, time, etc) either. So, Application Delivery Controllers use more robust load balancing techniques that take in to account a lot of real time parameters like connection counts, real world response times, host resource utilization and many more such server utilization parameters to decide on the best server to send the next connection request.

Another important function of an Application Delivery Controller is to provide uninterrupted connectivity (HA – High Availability) to the various applications supported by them. So, if a server fails, an Application Delivery Controller would be able to recognize that it has failed and would stop sending connection requests to that particular server, till its up an running once again. So, individual server failure doesn’t affect the over all application response. They also help maintain session persistence – An e-commerce application, for example, requires that a particular client connect to the same server for a certain period of time till the transaction is complete. An ADC can recognize this, and maintain connectivity (by not Load Balancing) for that particular period of time. An Application Delivery Controller does many more things, and we will see a few of them specific to F5 Big IP LTM – Local Traffic Manager.

Some Features supported by F5 Big IP LTM – Local Traffic Manager:

  • Hardware based SSL acceleration/ compression is provided to free the server resources from this computationally intensive function.
  • Caching technology is implemented in order to store certain repetitively requested content in the ADC hardware device and provide the same to users when requested, thereby freeing up server processing resources.
  • Compression is implemented where required and that saves a lot of bandwidth.
  • L7 QoS rate shaping enables bandwidth allocation and prioritization for critical applications.
  • TCP optimization reduce the effect of congestion and packet loss.
  • Security features to protect from network attacks like cloaking, protocol attacks, L7 attacks, etc is built in along with a basic firewall module.
  • Pre-configured application templates save a lot of time by providing (best practice) ready made configurations for various scenarios.
  • IP transformation and load balancing capabilities between IPv4 and IPv6 networks.
  • A Virtual Big IP LTM module is also available to optimize the traffic management for Virtual Servers.

You can get more information about F5’s BIG IP range of Application Delivery Controllers from F5’s official page for BIG IP.

In case you live in India and you are considering to buy an Application Delivery Controller from F5 for your company/ organization in India, do let us know using the contact form so that we can forward the same to our friends in the industry who are dealing with the same (In India).

You can follow the latest Computer Networking/IT Products released for homes/small businesses & reviews by subscribing to this blog with your email address in the top right-hand sidebar box: ‘Follow by E-mail’. You can expect one mail per week (max).