Evolution of Traditional Load Balancer into Application Delivery Controllers
Yogesh Gupta
Experienced Cloud Enablement & Security Professional | Risk Mitigation Strategist | Championing IT Transformation | Passionate about designing lean multi-cloud hybrid IT environments
Confidentiality, Integrity and Availability (C-I-A Triad) has been the basis and most essential elements from the time we started knowing about Information Security. But whenever I listen to any talk or wherever, I get into a discussion, there is always a debate, which element is more important.
If I have my money in the bank, what is important. Is it important that my money is safe or is it important that money is available to me when I need it. Not a very good example, I guess, timely availability is perhaps the most important element in running our businesses today.
We keep on hearing the term "99.5 percent uptime" all the time. This is availability. An estimate from Gartner told that the average hourly cost of downtime for computer networks is $42000. It means a company which suffers even half an hour of daily downtime can lose up to 7 million dollars in a year.
And that’s where we came with terms like redundancy, failover, load -balancing, and even data warehousing.
Today I am going to touch one topic load-balancing and how it evolved from a traditional hardware device to a cloud based intelligent delivery device providing not only more security (which is the need of an hour) but also adding more features like accelerating the performance of the applications delivered over WAN by implementing optimization techniques such as application classification, compression and reverse caching.
A Little History
A Load Balancer is a device which will offload any pressure on our Computing Environment, whether its network, servers, applications or databases. There were two common types of Load Balancing - Hardware Load Balancing and Software Load Balancing.
Hardware load balancing is a method used to distribute incoming traffic to an array of servers through a physical device which can be server computer or a dedicated hardware. That device is called hardware load balancer or a layer 4-7 router.
Take an example of a University website. At the time of the enrolment or examination results, the website will experience huge volumes of traffic . One server may be not be able to take so much volume and will slow down and may even die and stop taking traffic. In such a scenario, multiple web servers are used and traffic is load balanced between them. So, internet traffic first hits the hardware load balancer and then that device distributes the traffic to the group of servers depending on server utilization , availability etc.
In the present environment of increasing dependency on the web for our day to function, load balancers play a very important role in keeping the world wide web optimized and running. A website like Google gets 40,00 hits per second and you can imagine what would have happened if Load Balancer would have not been there to handle Google traffic.
But with advent of social media and other evolutions, the size of data got bigger and bigger. We started collecting huge amounts of data. Millions and Millions of hits on site like Facebook, google. And when data collection got bigger and bigger there was a need to intelligence to keep this sites up and running and stop from crashing every minute and then new ways evolved. Then Cloud computing came into picture.
Cloud Load Balancing and Application Delivery Controllers
Cloud load Balancing is a way of distributing application traffic to a pool of geographically distributed servers. It uses Virtual Local Area Networks as against typical LAN subnet used by physically located hardware load balancer.
So, in that way, it provides very high performance levels with very low costs as compared to traditional hardware load balancers. Moreover, it adds more advantages to list of merits we earlier discussed.
Cloud Load Balancing increases the availability quotient of the application due to inherent better scalability of Cloud technology. It can also provide overall health checks to the cloud based applications.
So, we see here a trend of evolution or rather shift from hardware load balancer to Cloud based load balancing.
But in this fast changing landscape of technology and constant innovation, we now see that Load balancers are evolving into something that we call Application Delivery Controllers (ADCs). These ADCs not only provide the traditional functions but also add intelligence by taking into account other applications on which this particular application is dependent. They also add intelligence to interfaces which enable such things as dynamic provisioning and the addition and/or subtraction of available servers based on utilization and need.
So, just to brief, what ADCs bought to the table were added advantages including old ones that are :
- Layer 3/4 & Layer 7 Load Balancing and Distribution
- TCP Multiplexing
- Networking Integration
- Application Acceleration
- SSL Offload
- Global Server Load Balancing (GSLB)
- DDoS Protection
- Web Application Firewall (WAF)
- Central Authentication
Therefore, Load Balancing is a technology which is going to continuously evolve and become more multi-facet. But the basic function of availability is going to be main and important aspect of load balancing and remember, availability is one of the most important aspect of security in today's enterprise environment.