I do not think that word means what you think it means

Greg Ferro over at My Etherealmind has a, for lack of a better word, interesting entry in his Network Dictionary on the term "Application Delivery Controller."

He says:

Application Delivery Controller (ADC) - Historically known as a “load balancer”, until someone put a shiny chrome exhaust and new buttons on it and so it needed a new marketing name.

However, the Web Application Firewall and Application Acceleration / Optimisation that are in most ADC are not really load balancing so maybe its alright.

Feel free to call it a load balancer when the sales rep is on the ground, guaranteed to upset them.

I take issue with this definition primarily because an application delivery controller (ADC) is different from a load-balancer in many ways, and most of them aren't just "shiny chrome exhaust and new buttons". He's right that web application firewalls and web application acceleration/optimization features are also included, but application delivery controllers do more than just load-balancing these days. Application delivery controller is not just a "new marketing name", it's a new name because "load balancing" doesn't properly describe the functionality of the products that fall under the ADC moniker today. 

First, load-balancing is not the same as layer 7 switching. The former is focused on distribution of requests across a farm or pool of servers whilst the latter is about directing requests based on application layer data such as HTTP headers or application messages. An application delivery controller is capable of performing layer 7 switching, something a simple load-balancer is not.

When the two are combined you get layer 7 load-balancing which is a very different beast than the simple load-balancing offered in the past and often offered today by application server clustering technologies, ESB (enterprise service bus) products, and solutions designed primarily for load-balancing. Layer 7 load balancing is the purvey of application delivery controllers, not load-balancers, because it requires application fluency and run-time inspection of application messages - not packets, mind you, but messages. That's an important distinction, but one best left for another day.

The core functionality of an application delivery controller is load-balancing, as this is the primary mechanism through which high-availability and failover is provided. But a simple load-balancer does little more than take requests and distribute them based on simple algorithms; they do not augment the delivery of applications by offering additional features such as L7 rate shaping, application security, acceleration, message security, and dynamic inspection and manipulation of application data.

Second, a load balancer isn't a platform; an application delivery controller is. It's a platform to which tasks generally left to the application can be offloaded such as cookie encryption and decryption, input validation, transformation of application messages, and exception handling. A load balancer can't dynamically determine the client link speed and then determine whether compression would improve or degrade performance, and either apply it or not based on that decision.

A simple load balancer can't inspect application messages and determine whether it's a SOAP fault or not, and then once it's determined it is execute logic that handles that exception.

An application delivery controller is the evolution of load balancing to something more; to application delivery.

If you really believe that an application delivery controller is just a marketing name for a load-balancer then you haven't looked into the differences or how an ADC can be an integral part of a secure, fast, and available application infrastructure in a way that load-balancers never could. 

Let me 'splain. No, there is too much. Let me sum up.

A load balancer is a paper map. An ADC is a Garmin or a TomTom.

 

AddThis Feed Button Bookmark and Share

Published Aug 22, 2008
Version 1.0
  • Again, good point!

     

     

    You're so right on the "pain relief" comparison. That's how many people end up with an ADC, but in many cases that's because they don't realize that incorporating a lot of the options available in their architecture up front can save them "the pain".

     

     

    If you stretch out before the big game, you're less likely to experience the aches and pains when you're done, after all...

     

     

    :-) We should debate this live sometime, it would be a great discussion.

     

     

    Thanks!!

     

    Lori

     

  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    I like this statement:

     

     

    "For the vast majority of people, you really only need Garmin when you going somewhere you haven't been before. It helps, but its not a requirement, you can probably get a result without it."

     

     

    I think it's both very true, and very illustrative.

     

     

    I may not need a GPS in my car, but it sure is a handy feature. If I ever want to find a gas station close-by and don't know the area, if I've got multiple stops and want to find the fastest route, even, as you said, if I'm going somewhere new.

     

     

    Even though we don't need the GPS in our cars, there is definitely a reason that most high-end auto-manufacturers are making these devices standard and using them as one of many selling points. They're nice. People like them. They make life easier.

     

     

    Sure, you could survive without one, but aren't we all looking for more creature comforts? I can technically survive without air conditioning, digital cable or an internet connection, too, but it sure is more enjoyable for me to have them. That's not even to mention the many things those "nice to haves" allow me to do that I couldn't otherwise.

     

     

    In essence I'm agreeing with you. An ADN isn't a required device in many situations. It does, however, make life easier and more enjoyable and, in many cases, allows you to do things you just plain couldn't without it.

     

     

    Good discussion! ;)

     

     

    Colin