Sunday, March 10, 2013

Performance Perception In The Cloud


A funny thing seems to happen when applications are run in the "cloud" instead of just "virtual" in your local datacenter.  The perception of performance is changed.

As a part of my job, we look almost everyday at the performance of applications running in Virtual Machines.  We sometimes compare this performance against applications running natively on hardware and sometimes we are just measuring response time or looking for lost cycles.  Even small differences of less than a percent are important and improvements of whole percentages are celebrated.

Customers like to get into detailed discussions about how much "overhead" virtualization brings.  Settings and configuration options in vSphere that they can use to squeeze out every last drop are given in whitepapers, presentations, and blogs.  This is the kind of stuff that I consider fun and interesting.

But when we discuss running applications in the "cloud" the aspects of performance that are important change.  Even though all clouds are enabled by a virtualizaiton layer with virtual machines running around on top, the performance concern is almost always only about scaling.  Can additional instances be spun up to meet customer demand in real time?  Can storage capacity be expanded infinitely into the future?  There is absolutely no discussion about virtualization "overhead".

I believe that there are many reasons for this difference in perception.  Some of these reasons even make logical sense, but I don't think that the logical aspect is what is driving this difference in view.

It is primarily driven by the completely different approach that true "cloud" computing brings.  The underlying infrastructure is being turned over to somebody else, and the customer is simply purchasing a service.  While in the virtualization world, the underlying infrastructure is still under the control of the person making the decisions.  Even though both a cloud and a virtualized data center will be using the same virtualization approach, it is only the virtualized data center that is questioned about "overhead".

Interesting to me that the evaluation of performance is so different between these two.

No comments: