Tuesday 2 March 2010

Load-balance or Virtualise your application??

Most Web Applications today are behind some form of Load-balancer. But is that enough?

The Problem
What is a Load-balancer: A load-balancer unintelligently sprays traffic across a tier of servers in hope to distribute load. 2+ servers can handle more load than 1. Load-balancers sound great, right? If a Load-balancer is all you have then be afraid!

Lets say you have 3 Web Servers behind a Load-balancer. The Load-balancer is distributing traffic across the servers using a round-robin algorithm: Server A, Server B, Server C, Server A, Server B, Server C, ... you get the picture. What happens if Server A begins to fail and starts returning errors? As the load-balancer is not aware of the issue (it only works at the network level), 1/3 of your customers are now failing to get the service you promised to deliver. Instead they are receiving an ugly error page.

The Solution
Enter: Service Virtualisation. The right solution is to virtualise each tier using an Application Delivery Controller - Gartner ADC Market. A good ADC is capable of detecting the response error and, instead of passing it back to the customer, transparently redistributing the request to another server. Put another way, if Server B replies with a 404 Not Found, the ADC will try again, before responding to the customer, with either Server A or Server C.

By implementing an ADC customer traffic is no longer scattered across a Web Server tier as gracefully as leaves in the wind. With an ADC the Web Server tier is virtualised separating the customer from what could happen by inserting a device to keep things honest and, more importantly, to protect your company brand.

No comments:

Post a Comment