Search
Lori MacVittie - Two Different Socks
You are here: DevCentral > Weblogs

posted on Tuesday, December 02, 2008 7:15 AM

Christofer Hoff, better known as @Beaker to the Twitterverse, put on his devil's advocacy hat (yes, it really is a good color for him) yesterday and questioned whether there was a need for hardware application delivery solutions in the cloud

questions-hoff He postulated via Twitter that application delivery functions would become part of the cloud fabric and thus whether they were implemented in hardware or software was largely irrelevant. Generally speaking we're in agreement on that one. But then he really used that devil's advocacy hat and suggested that the application delivery control layer might be virtualized and software-based as well. Of course he also said "it's just a switch". [strangled sounds - that hat works really well] I'm going to ignore that for now because it's just not relevant to this conversation, but rest assured I'll come back and visit that one eventually.

It isn't so much that application delivery needs to be a hardware solution as it is that the solution needs to have certain capabilities that are typically found in hardware solutions that are not always found in software solutions. Spreading application delivery functions like load balancing, protocol optimization, and security around the data center, essentially embedding it in the cloud fabric, destroys the ability of the solutions to perform their tasks. Most application delivery functions require that the solution mediate; that it be between the client and the servers it is managing. It's difficult for a device to act as a virtual access point for a web-site if the device is itself inside the data center. And given the dwindling supply of public IPv4 addresses and the slow adoption of IPv6, virtual servers a la load balancing technology is an absolute requirement for cloud computing environments. They can't be hanging around inside the environment because they necessarily need to be at the edge, mediating between the public (client) and private (servers) networks.

Then there's the real meat: contextual networking. That's the ability of a solution to take into consideration context when applying policies and rules and functions to traffic and data. Understanding the context of a request and response - location of the client, type of client, type of response data, network over which a client is connecting, etc... - makes it possible to apply application delivery functions like optimization and acceleration and security more efficiently. In order to understand the client, you've absolutely got to have visibility into the client-side of the equation as well as the server-side. If you're nothing more than a service in the fabric, you aren't going to have that visibility - some other device or solution will. Without that visibility you can't easily obtain the context, and thus you aren't capable of adapting to what's going on right now - on demand.

Let's say your cloud computing provider is able to provide compression (a common acceleration function) on a per MB compressed basis. In other words, you are paying additional fees based on the amount of data that's compressed. This might save you money in bandwidth fees because you're using less bandwidth, but those savings can easily be eaten up by inefficient solutions that compress everything regardless of context.

If the provider has an intelligent solution that can take into consideration all the parameters involved in a request and reply, it can determine whether applying compression will (a) make a difference and (b) impede or improve response times. We all know some data - particularly images - don't benefit from compression. We also know that applying compression on responses that are small (typically under the network MTU and maximum ethernet packet size) can actually impede performance because it takes longer to compress than it would to deliver it raw.

An application delivery solution, usually hardware but not always, can intelligently take into consideration the context of the request and response and make those decisions in order to more efficiently make use of compression to do what it was intended to do: improve performance and the end-user experience and, if applicable, reduce the costs associated with the service. Moving compression functions off servers and onto an application delivery solution further improves the capacity and utilization of the server, which can reduce the amount of compute processing required to run your application in the cloud and further decreasing costs. It's more efficient from a processing power standpoint, and it's financially more efficient. And you can't really do it if your application delivery solution is distributed across the fabric inside the data center as virtual images of software solutions.

Could you deploy virtual images of software solutions at the edge, as a sort of edge cloud fabric? Yes. Can you deploy them willy-nilly throughout the internal cloud fabric? No. 

There are plenty of other reasons why hardware solutions will likely remain the best option for providing application delivery services in the cloud fabric: failover, load balancing, throughput, capacity, hardware accelerated functionality, performance, reliability, etc... But the fact is that in a virtualized environment there is going to be some intermediary necessarily providing core application delivery functions like load balancing and failover and availability assurance and it just makes sense to leverage that same device by employing as many application delivery functions at that point where context can be taken into consideration and the application delivered as efficiently as possible.

 

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


Reblog this post [with Zemanta]


Feedback

12/3/2008 7:06 AM
Gravatar Hey Lori!

I'm going to simplify my response by offering you what I think is an excellent retort to your assertions, especially the last bit where you state:

"Could you deploy virtual images of software solutions at the edge,
as a sort of edge cloud fabric? Yes. Can you deploy them willy-nilly
throughout the internal cloud fabric? No."

If I understand your assertion, you think I'm talking about deploying ADC functionality as a VM sitting atop a hypervisor?

If so, that's certainly an option, but not one I'm focused on and certainly would pose scale and management issues. But that's not what I'm referring to.

I'm talking about building application delivery and awareness into the fabric of the virtualization layer itself -- the "platform" if you like. This is exactly what VMware's and Citrix's goals are for their cloud OS's.

Ignoring the "willy-nilly" comment, I have a diametrically-opposing perspective to yours. Mine is that the ingress/egress points of networks are great places for hardware assist packet pumps in traditional DMZ environments, but that in order to get penetration across vast virtualized infrastructure where the model is flipped inside out and re-perimterized (such as that in cloud computing,) services such as ADC delivered as a function of the platform itself and tied to the fabrics of compute, storage AND network is the reality.

You suggest that can't/won't scale.

To refute that, I offer you Amazon EC2 and this page as direct evidence that it does and can.

See here: http://aws.amazon.com/ec2/

All those arguments you made here and in Twitter simply don't jive when you realize that the "network" built by Amazon delivers the flexibility, agility, scale and resilience TODAY (including the IP addressing elements you maintain are issues) and coupled with storage (S3,) EBS, CDN (which will deliver content in context,) and the embedded distribution (dare I say load balancing/clustering) becomes an evolving platform for content in context.

Do they rely on supporting hardware infrastructure to pull some of that off? Maybe. But the magic's in the platform that provisions, orchestrates and delivers the virtualized AMI's, not any piece of hardware.

Do they offer the ADC "application aware" functionality present in your products today? Compression? No, not yet. But they will. They have to.

It's pretty hard to get closer to the data you're serving when you're the platform delivering every element of it. Point product ADC's in hardware -- usually at the edge -- simply don't have that level of integration.

You should know that fundamentally I totally agree with the "content in context" proposition...I spent 2+ years at my last job working on delivering this very thing. Further, I happen to like f5's kit very much. I think the products deliver, in fact, I used to resell them.

However, clutching to the perimeterized model of outside looking in with a monolithic piece of hardware distributing "applications" and managing IP's across a re-perimeterized/virtualized infrastructure is incongruous.

So there's my answer. I hope it helps clarify my position.

/Hoff



Christofer Hoff
12/3/2008 7:24 AM
Gravatar @Hoff,

Yes, that does clarify your position wonderfully. I think, in many ways, we are talking about the same thing, I'm just coming at it from using services on an ADC/hardware to build that awareness into the fabric (and not being clear enough, apparently).

You said: "the magic's in the platform that provisions, orchestrates and delivers"

Absolutely. Without the provisioning and orchestration, none of this is possible. That's external to the "stuff" that is being provisioned and orchestrated, and can certainly include a mixture of hardware and software solutions for optimizing, accelerating, and securing applications residing within the cloud. Could be hardware, could be software, could be hardware images in a virtual machine. The abstraction is important (the customer shouldn't care) as is the ability to orchestrate/provision on demand.

There's an entire software industry waiting to grow out of the cloud data center provisioning and orchestration need, just as BPM grew out of a need to orchestrate business processes. But whether that will happen or not is largely dependent on how interconnected clouds from disparate providers will be.

But I digress into other areas...

Thanks for clarifying. That was much easier than via twitter. ;-)

Lori
Lori MacVittie
5/27/2009 3:51 AM
Gravatar I am wondering why not all websites enabling this great feature GZIP?
Lori MacVittie
7/17/2009 3:27 AM
Gravatar Use The Source, Luke!
Lori MacVittie
8/15/2009 8:52 AM
Gravatar I hope it will help me
will
8/15/2009 9:01 AM
Gravatar yea via twitter its harder
will
11/19/2009 1:31 PM
Gravatar Virtualization is Real
Pete Silva

Let Me Know What You Think


Please use the form below if you have any comments, questions, or suggestions.

Title:
 
Name:
 
Email: (so we can show your gravatar)
Website:
Comment: Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
 
Please add 3 and 5 and type the answer here:

Blog Stats

Posts:978
Comments:1685
Stories:0
Trackbacks:583
  

Image Galleries

  

Application Delivery

  

Cloud Computing

  

Random

  

Security

  

Chat Catcher

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or