| By Lori MacVittie | Article Rating: |
|
| March 25, 2010 04:30 PM EDT | Reads: |
520 |
What we’ve got here is a failure to communicate. Some apps you just can’t reach … in the cloud.
Доброе утро!
What? You don’t speak Russian? Not even “baby” Russian? French? Spanish? Indonesian? Korean? Chinese?
If you’ve traveled you’ve probably picked up a few words here and there but it’s unlikely you are, at this point, fluent in any of the world’s languages excepting English. Luckily most other people in the world speak English better than you speak their language so you should get along just fine.
Unfortunately for folks stuck in the data center, most of their network and application network devices don’t have even that much in common. If you immediately thought “Hey, they have IP and TCP and HTTP in common” then think again. IP and TCP and even HTTP today are used as transport protocols, not data exchange formats. Your voice and the written word are IP and TCP and HTTP, but the actual data being exchanged? That’s where the difference between English and Russian comes in and rears its ugly head. (Well, there and at bedtime when you’re trying to explain to two non-English speaking girls it’s time to sleep.)
One of the primary drivers for deploying an application fluent, i.e. layer 7 aware and capable, application delivery controller (ADC) is the ability to understand the various “languages” used by applications. This allows the ADC to apply policies that provide for application-specific security, acceleration techniques, and other optimizations that wouldn’t be possible without understanding the data being exchanged.
This goes deeper than intercepting, inspecting, and applying policies on live requests and responses. It goes right to the heart of availability and impacts the ability to understand what it means for an application to be “available” and what it means to be “down.” In a volatile environment such as cloud computing and highly-virtualized architectures this understanding is paramount to ensuring availability and fault-tolerance of applications. This means the load balancing solution had best be able to understand the application and its data and from that make a determination whether it’s the application or the server or the virtual machine that’s available, and react accordingly.
In cloud computing environments, however, most load balancing “services” offered are lacking in their ability to “converse” with the application.
This “failure to communicate” at the application layer leads to misfires, to the incorrect assumption that a “server” being available means the application is available. To not recognizing that the “application” being available does not necessarily mean that the application is executing correctly. Errors in applications sometimes throw tantrums under heavy load that are not found in routine testing. These errors may or may not be introduced by behavior resulting from additional stress on the infrastructure. Regardless, it can cause error messages of the HTTP 5xx kind to be thrown back to users who have “traveled” the web enough to understand that there’s a problem aren’t necessarily going to be happy about it. Worse, the application can respond with a “successful” HTTP response while the data exchanged is completely wrong – or missing.
It’s these types of scenarios that application fluency is designed to prevent. But without the ability to communicate at that layer “in the cloud” it’s likely that such scenarios will become more common rather than a rarity.
This is the realm of the dynamic control plane, the intelligence and glue that enables a dynamic infrastructure to adapt on-demand to conditions inside and outside the data center. By intercepting responses, an infrastructure 2.0 enabled application delivery controller can
subsequently interpret the response and then instruct itself, the application, or other components within the data center ecosystem on the proper way to handle errors or misfires.
These capabilities are enabled by application-fluency and can be leveraged via Infrastructure 2.0 capabilities.
Without the ability to inspect requests and responses, especially from the application layer when determining not only availability but ability to fulfill a request correctly, the result is potential errors being exposed to users. Some of those errors may be, unfortunately, laden with information that can be exploited by miscreants to take action that will result in a breach of application security. It is not uncommon for a heavily loaded application to “crash” and pass back stack-traces or other juicy tidbits about its environment to the end-user.
When the Load balancer or ADC has the ability to to intercept and interpret both “live” responses and health-checks it can prevent potential information leaks as well as ensure availability be instructing itself to choose a different application instance or, if it is well-integrated into the architecture via its Infrastructure 2.0 capabilities, notify the management system of the problem so that it can take the action necessary to address the problem. But if the load balancing solution does not have these capabilities, then it’s acting blindly and it’s not able to really assure availability, which end-users would define as “accessible and working correctly.” In many cases what we have in cloud computing environments is a “failure to communicate” that ultimately leads to a failure to deliver applications.
And that’s really what “the cloud” and every other data center model is about: delivering applications. If the infrastructure isn’t helping to achieve that goal it may be hindering it instead, and that just makes your job all that much harder.
До свидания!
Read the original blog entry...
Published March 25, 2010 Reads 520
Copyright © 2010 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Lori MacVittie
Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.
- Whatever the Apple iPad Is, It Apparently Leaks Like a Sieve
- Reflections on Java Command Line Options
- The End of IT 1.0 As We Know It Has Begun
- Java vs C++? Really?
- Microsoft WebsiteSpark: Get New Business Leads to Grow Your Business
- Exclusive Q&A with a Stealth Cloud CEO
- Can You Fire a Team?
- Current Trends in the Data Management Market
- Chuck Phillips Was Supposed to Become CEO of CA
- It's the Java vs. C++ Shootout Revisited!
- HTML5 Web Sockets: A Quantum Leap in Scalability for the Web
- Einstein, Sharks and Clouds: IT Security in the Cloud
- An Exclusive Interview with Oracle, Cloud Expo 2010 Diamond Sponsor
- Whatever the Apple iPad Is, It Apparently Leaks Like a Sieve
- Reflections on Java Command Line Options
- The End of IT 1.0 As We Know It Has Begun
- Six Enterprise Megatrends to Watch in 2010
- Cloud Expo New York Call for Papers to Expire January 15, 2010
- Whatever Happened to JAAS?
- What’s Next for Oracle-Sun?
- Java vs C++? Really?
- Microsoft WebsiteSpark: Get New Business Leads to Grow Your Business
- Exclusive Q&A with a Stealth Cloud CEO
- Can You Fire a Team?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?

























