Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 The House that Load Balancing Built
posted on Monday, February 16, 2009 5:10 AM

The year 2009 may be remembered as the year technologies died. First Anne Thomas Maynes of Burton Group declared SOA dead, and more recently Mark Fabbi of Gartner announced the death of load balancers. The difference in the obituaries is striking: Maynes declare an entire architectural model dead while Fabbi merely declares the death of a product, not the technological concepts behind it. Load balancers may be dead, the concept of load balancing lives on as a critical foundation for more advanced and valuable features available in the load balancer’s evolutionary replacement: the application delivery controller.

Where Maynes gives no guidance on what organizations should be replacing SOA with, Fabbi does a good job of explaining not only what, but why organizations should  be focusing on delivering applications instead of simply distributing packets via aging load balancer solutions.

From Load Balancers Are Dead: Time to Focus on Application Delivery

Organizations that still think of this critically important position in the data center as one that only requires load balancing are missing out on years of valuable innovation and are not taking advantage of the growing list of services that are available to increase application performance and security and to play an active role in the increasing vitalization and automation of server resources. Modern ADCs are the only devices in the data center capable of providing a real-time, pan-application view of application data flows and resource requirements. This insight will continue to drive innovation of new capabilities for distributed and vitalized applications.

The position of a load balancing solution in the data center is such that it places the solution in front of the applications for which it is providing availability. That means it takes on the role of an intermediary, a data center application broker, if you will. An intermediary can certainly provide basic load balancing duties, but it can also serve as gatekeeper, guardian, performance coach, and well-informed guide for the applications it delivers.

We are already in the throes of data center consolidation as a means by which the operational and capital expenses of IT can be reduced, resulting in a more financially efficient infrastructure. Virtualization is often used as a means by which unused compute resources can be leveraged to reduce waste as well as the physical number of machines in the data center, which subsequently has a positive effect on the costs associated with power, heating, cooling, and space.

Consolidation at the infrastructure level is also possible, but rarely considered. An integrated application delivery controller combining web application acceleration, optimization, and security with its core load balancing capabilities reduces the number of physical individual solutions necessary which reduces power, heating, cooling, and space costs as well as the overhead of management and the annual costs of maintenance and support.

Dare I mention that an integrated solution also reduces the number of physical devices through which traffic must flow, which necessarily reduces latency and thus improves application performance?

Robin Layland in “A new era in application delivery” sums up the situation well:

The problem is that implementing all these necessary but separate solutions [security, consolidation, availability, performance] will cause the number of appliances to grow, increasing cost and complexity.

What is needed is an integrated solution that can classify, prioritize and control traffic at the application layer while also providing most, if not all, of the needed application layers services. The banner this solution flies under is Application Delivery Networking.

The return on investment of an application delivery controller is much higher than is possible for load balancers simply because an application delivery controller can provide additional functionality that cannot be found in aging load balancers. As Layland goes on to say, “The key to application delivery meeting the new challenges is to integrate in a single solution the right mix of application visibility, acceleration, optimization, security and SLB.” The application delivery controller (ADC) does just that. It integrates core load balancing with acceleration, optimization, and security solutions. 

The point Fabbi appears to be making is not that load balancing is an antiquated and outdated technology, but that it’s necessary to look house-framedbeyond just load balancing to application delivery in order to architect an optimized environment. Application delivery is necessary as a flexible, adaptable foundation for emerging data center architectural models like cloud computing and virtualization.

Load balancing will continue to be an important and integral function within the data center, perhaps  more so in the coming years than ever before. But like the load-bearing wall in a building it is not, on its own, a complete solution to the problems a house is intended to address. Without other walls and doors and a roof, it’s not much of a house at all. In fact, unless you live on a beach in the Caribbean I’m guessing that you wouldn’t risk your health and well-being on a house built solely on load-bearing walls.

So why would you essentially do the same to your applications? The house that load balancing built is held up by strong, proven technology – load balancing. But you really need to finish the house before your applications move in.

Follow me on Twitter View Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share


Reblog this post [with Zemanta]


 
      

Feedback


2/16/2009 8:32 AM
Gravatar Not only will it cause the application to grow in cost and complexity, it's teaching new and old programmers to not write efficient code and rely on other products and services on thier behalf. I.E. Why write security into the app, when the ADC can do that for me. Why write code that executes faster, the ADC will do that for me, etc., etc.

It's a tragic sorta way of dummying down the programmer of the next generation and it's already happening.

The key here is the continue programming on applications that can run autonomously and then the consider the ADC an after thought.
Ethan

2/16/2009 8:40 AM
Gravatar @Ethan

Wow, I couldn't disagree more with that assessment. App delivery isn't about dumping security or efficiency from the code. It's about optimizing protocols and distribution of requests/responses. It's about making the protocols (TCP/HTTP) on which applications ride more efficient, secure, and faster.

Application delivery can't make an application execute on the host faster. Not going to happen. It has no inherent control over the internal execution of application logic and while it can improve performance in other areas to make up for sloppy, inefficient coding, that's not nearly as beneficial as improving the performance of the protocols AND ensuring efficient code.

I also disagree on the "ADC as an after thought". There are a variety of functions that *make sense* to be externalized - cookie encryption/decryption, SSL, caching, compression - that should be considered *during* the development process as potentials for offloading to an ADC. It makes a difference in deployment and configuration and should be thought about before apps are deployed as part of the architecture/infrastructure and not a "quick fix".

Lori
Lori MacVittie

6/2/2009 3:47 AM
Gravatar Facepalm: Google Wave Choice of XMPP Not the Death of HTTP
Lori MacVittie

9/17/2009 4:00 AM
Gravatar If Load Balancers Are Dead Why Do We Keep Talking About Them?
Lori MacVittie
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 4 and 6 and type the answer here: