Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Persistently Different - Not right, just different.
 Advanced Load Balancing for Developers – ADCs, What’s the Difference?
posted on Tuesday, July 07, 2009 8:32 AM

ZapNGo!So a while back I covered Load Balancing for Developers, trying to help developers  who don’t yet have exposure to load balancing to understand the when/where/how of load balancing. 

I took a bit of a break to do some BIG-IP/TMOS V.10 work, and figure it’s about time (since I’ve been gently prodded by readers a couple of times) to move on with the advanced applications.

But first, a moment of silence for Borland, who this time surely is breathing its last. I’ll try not to reminisce too much here, but their DOS IDE was the best out there, hands down. And their compiler was better than most (I think TopSpeed beat it, but not by much).

When the term Application Delivery Controller (ADC) came about, most people didn’t have a clue what the differentiators between simple load balancing and ADCs were, but time has passed, and people like Lori have set us all straight on what exactly it takes to be an ADC… And I’m going to glom off those super-intelligent individuals and give you a run-down of what you can hope to get from an ADC that you wouldn’t get (or aren’t getting) from your Load Balancer.

First, the easy part. An ADC is a load balancer, just a very advanced one. In a manner very similar to the way that C++ evolved from C, just with a bunch of pre-processor stuff as the early implementations, ADCs evolved from load balancers, just with a bunch of pre-, post-, and intra- processing stuff as the early implementations. So ADCs are really Load Balancers++. This means the same thing it does for C++… In short, if a load balancer can do it, so can an ADC. The opposite is not always true.

In 2007, Gartner did their Magic Quadrant for ADCs with a description of functionality they looked for. It’s a great starting place, so we’ll use it.

For the rest of these, you might find one or two of them implemented in your load balancer, but you can expect all or nearly all of them in your ADC.

Gartners’ list of ADC functions is large, and the list keeps growing, but there are a few general groups you can apply. We’ll just mention them here, and cover them in future installments. (side note: Gartner’s list actually shrank in 2008, but is more general and less redundant)

Compression and Optimization – server offload, data compression, connection multiplexing, Caching, content pre-fetching, protocol-specific optimizations, etc.

Security and NAT – Network Address Translation, SQL verification, Application Firewall, DOS/DDOS protection, fingerprint masquerading, application proxy, etc.

Transformation – NAT falls into this category for some implementations, redirection of URLs does also, but transforming the payload is a complex and effective version of this one also.

Did I miss anything? Oh yeah, most important one to me…

Programmability – scripting or API interfaces that allow you to manage the load balancer at a granular level (eg: more than On/Off) dynamically. This is big in automating the data center – bringing up another instance is only helpful if it all happens when needed and goes away when not.

We’ll take a look at these over the next few weeks, how you can use them to improve your site’s performance, reliability, and security. All while load balancing, of course… Though you don’t have to load-balance to utilize and ADC, since they do a ton more that load balancing these days.

Until then,

Don.



 
      

Feedback


7/7/2009 11:36 AM
Gravatar Oh Boy, Don. You just brought back a flood of memories. How could forget Turbo Pascal and Turbo C? Remember the character-based, 3D-like UI? I vaguely remember TopSpeed, but never used it myself.

Ron
Ron Carovano

7/7/2009 11:42 AM
Gravatar I've got a copy of all of TopSpeed's stuff downstairs... ;-) The thing I loved about TopSpeed was that you could write parts of apps in different languages and it just worked... Just hit compile and they interoperated.

Borland was the coolest IDE available. They don't even own an IDE business any more, and that plus the Ashton-Tate debacle are the things I remember them for.

But time moves on, at their current share price, you and I could probably buy them ;-).

Don.
Don MacVittie

7/8/2009 9:48 AM
Gravatar In case you're looking for them, it was brought to my attention that the commenter I had responded to was essentially spamming DC posts with the same exact comment (bot or uninventive worker, I guess), so I deleted the comment and my response.

Don.
Don MacVittie

7/9/2009 3:11 AM
Gravatar The most important thing is that ADCs are made avaiable to developers at an affordable price and that they can utilize their tools (such as Eclipse) to develop with ADCs in mind.

I say every web developer should have ability to play with its own ADC.
Izzy

7/9/2009 2:46 PM
Gravatar Hey Again Izzy,

I think completely separate is a bit of overkill. As long as they have a sandbox to play in that won't destroy everyone else's work, no need for completely separate instances.

Don.
Don MacVittie
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 5 and 4 and type the answer here: