Welcome!

Cloud Expo Authors: Sue Poremba, Pat Romanski, Elizabeth White, Patrick Burke, Jeremy Geelan

Related Topics: Web 2.0, SOA & WOA

Web 2.0: Blog Feed Post

Your Network is Not My Network

Application performance is about end-to-end performance, not just network perimeter to end performance

Back in the day when I was actually allowed to write code for customers the pat answer to any code being returned from QA because of problems was a flat “but it works on my machine.” Alright, alright, I’ll be honest; it wasn’t flat at all, it usually a plaintive whine. This isn’t an uncommon scenario as differences in environments and interactions with other applications may be enough to cause problems on one machine and not another. Troubleshooting such subtle issues were painful, to say the least, and not something anyone wanted to do.

Now comes the time of the network architect. Everything is networked and it’s easy enough to dismiss performance problems for one or more customers simply because, well, it works fine on your network.

But your network is not my network and application performance is about end-to-end performance, not just network perimeter to end performance. Accounting for the differences in networks can positively impact application performance but it isn’t something that’s easily accomplished without the right tools.


LACK OF VISIBILITY, LACK OF CONTROL


It’s easy to dismiss external network problems in the face of poor application performance because (a) you lack visibility into external networks and (b) you have no control over them even if you do find a problem. There’s very few good solutions to (a) and no good solutions to (b) unless you have a lot of friends and a lot of favors to pull in across the various network providers over whose networks your application needs to communicate.

A harrowing array of variables can be the culprit for poor application performance, some of which you can’t affect and some of which you can. The first step, however, is to figure out which variables are affecting the application and it’s nearly impossible to determine what those are when you aren’t physically able to see the packets and behavior from the end-user’s perspective.

Worse is that even if you figure out that there’s something peculiar about one application or one particular user connection type, what are you going to do about? Changing the configuration of the server to address a challenge with one application may impact (and is likely to do on most systems where the operating system drives the TCP/IP stack) all applications deployed on that server. Changing the configuration to address issues specific to one user connection type, e.g. mobile, remote, local network, VPN – is also likely to impact all users and all applications. Similar issues exist at layer 7 where the nuances in HTTP implementations across applications may need to be tweaked for one, but not another.

The obvious solution is different servers with different configurations that match all the possible combinations of users and applications. In a traditional environment this is never going to happen. The cost of hardware, software, network, and general management of so many pieces of hardware and applications would drive the cost of business through the roof. Even in a virtualized environment the complexity involved in such an undertaking is overwhelming and, to be honest, impractical.

What is practical and manageable is to tweak configurations based on protocol and application in a centralized way. this affords architects and administrators the ability to configure protocol behaviors unique to both client and server side networks, thus addressing the differences in behavior between the two environments.


FULL-PROXY ARCHITECTURES ENABLE GRANULAR POLICIES


Because a solution with a full-proxy architecture is the end-point for all intents and purposes, it has information about the user and the network it is using. While this won’t provide a complete view of performance from the end-user’s perspective, it can provide insight into the variables over which the intermediary has some control, i.e. network variables that can be adjusted by the mediator that will improve performance. The solution also has information about the server-side network variables. That means it can adjust variables on both sides of the equation simultaneously without impacting each other.

PERAPPPOLICY

But that’s just the network. What about the application? After all, it’s application-specific tweaks that may be necessary for one but not  another that we want to affect. For example, RPC-based protocols often run into performance problems due to a conflict between Nagle’s Algorithm and delayed acknowledgements. When the two collide – which is often in applications using RPC-based protocols like Microsoft Outlook – they can cause a deadlock that imposes delays of at least 200ms but as high as 500ms. Depending on the number of calls being made that delay can add up to many seconds – unacceptable in just about every user’s definition.

 

The typical solution to this problem is to disable Nagle’s algorithm on the server, but that degrades performance for any other application that might be running on the same server. Catch-22. If the mediator is smart enough, however, it can disable Nagle’s algorithm on a per application basis. This means that only the RPC-based application is affected while all other applications – and users – continue to enjoy acceptable performance levels.

This type of granular protocol and application policy-based “optimizations” are not universally implemented by providers of intermediaries like load balancers and application delivery controllers. It requires a full-proxy, for one, and it further requires the ability to intelligently apply policies based on a variety of environmental conditions such as application and connection type. But for those solutions that can provide this level of granularity, the benefits are huge in terms of performance and security and really just about any application delivery related functionality.

The separation of client-side policies from server-side policies allows features and functionality like compression and specific TCP-related optimizations to be “on” or “off”, as is best suited to the particular environment, on a per application basis.

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

Related blogs & articles:

Read the original blog entry...

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.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Cloud Expo Breaking News
Nearly every enterprise is evaluating cloud computing solutions either today or in the near term. Many have already made the leap, and many more are getting close to putting that first toe in the water. But there are key considerations that should be made, questions to be asked, and designs to consider before you can feel secure with your provider. In his session at the 10th International Cloud Expo, David Gulick, Product Manager, Hosting Product Management at Savvis, will help give you food f...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you dealing with every nook and cranny of Cloud Computing, but what of those who are presenting? Who are they, where do they work, what else have they written and/or said about the Cloud that is t...
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in high-performance, high-efficiency server technology and green computing, will exhibit at SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions for Embedded Systems, E...
SYS-CON Events announced today that ScaleMP, a leading provider of virtualization solutions for high-end computing, will exhibit at SYS-CON's 10th International Cloud Expo, which will take place on June 11–14, 2012, at the Javits Center in New York City, New York. ScaleMP is the leader in virtualization for high-end computing, providing maximum performance and lower total cost of ownership (TCO). The innovative Versatile SMP (vSMP) architecture aggregates multiple independent systems into a sin...
Come learn real-world examples where cloud and mobile are changing the way business works and the impact they're having on efficiency and productivity. In his session at the 10th International Cloud Expo, Rodrigo Coutinho Senior Product Marketing Manager at OutSystems, will look at how mobile and the cloud are interwoven and the wave of change these two 2012 megatrends will bring to your organization. He will also provide a roadmap to assure you can navigate this sea change for business succes...
Enterprise IT organizations want to deploy a virtualized data center fabric that will provide the foundation for agile private cloud computing. Getting there does not have to be difficult, but it does require a new approach to data center infrastructure design – an approach that is non-disruptive, vendor-agnostic, and very adaptable to changing business requirements. In his session at the 10th International Cloud Expo, Bruce Fingles, Chief Information Officer and VP of Product Quality at Xsigo...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
How can businesses harness the power of APIs to reach new customers and markets? In his session at the 10th International Cloud Expo, Alistair Farquharson, CTO at SOA Software, will walk the audience through the growth and evolution of the API, why effective API management is important, and how the game changes when companies expose business applications to the outside world. He will also discuss: A brief history of the API How to use APIs to make money, save money, build brand "Appificatio...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four weeks away, what better time to introduce you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and strategy sessions for you every day from June 11 through June 14 dealing with every nook and cranny of Cloud Computing and Big Data, but what of those who are presenting? Who are they, where do they work, what else have ...