Will Virtualization Kill the Cloud?

I know there is a lot of contention over what exactly cloud computing means. Some people use the metaphor as “compute as a utility” (like electricity) – which seems to be more of a long term “grand challenge” to me.  I found a short description that I believe is right on the mark by James Urquhart – “Cloud computing is an application-centric operations model.” So for IT applications become king – and the whole of the IT will be focused around serving applications and application users. Even though sounds almost intuitive to most business folks (I mean what else is IT except a way to get applications to users?) it isn’t how most IT departments operate. In most IT departments – infrastructure is king, not applications. You want to deploy a new application or you need more resources for an existing application – well then wait a few months for the infrastructure folks to requisition, provision, integrate and provide you those resources. The cloud will play havoc with that model. There is a reason for this mismatch in paradigms. It is because for the infrastructure folks, cloud or not,  compute and storage resources are not flexible or infinite – even though they may appear that way to the application folks. Infrastructure is a physical resource – and therefore not unlimited.

It clear that virtualization is the mechanism that most cloud providers will use to try to create the illusion of “unlimited available resources” at the application layer. Virtualization isn’t new to the data center (mainframes have been doing it forever, and VMWare has been around for quite a few years now). What is new in the public cloud infrastructure – the organization using the cloud is completely blind to physical infrastructure and its topology – all you get to see is your VMs and the stack above those VM.

That blindness means that you don’t know if your apps are running on machine with 10 other apps, or if your VM has just been migrated to another physical server. Or maybe your cloud provider has skimped a bit on infrastructure, and now physical machines need to host a few more virtual machines to meet the needs of some peak period. In a perfect world that wouldn’t matter – but the world isn’t perfect. Your apps will be affected by their physical neighborhood – for example take the “noisy neighbors” problem that I mentioned in “Noisy Neighbors, Amazon Cloud and the Mainframe”. All of a sudden, through no fault of your own, your production applications may start acting erratically. So now you’ll need to understand that your performance and SLA problems may be caused by things that you can’t see, and can’t access – and will never be able to access.

Going back to the “compute as a utility” metaphor – virtualization makes the cloud is very different than say, an electric utility. You wouldn’t be very happy if your refrigerator was working 5 degrees warmer because the guy down the block turned on his air-conditioner – but that is what can happen when virtualization is used in the cloud. Just like with the refrigerator – you won’t know about the problem until it it is too late – the food spoils, irate users are on the phone.

So as the cloud matures – the issues brought about by mass virtualization will need to be addressed – or we may find that virtualization killed the cloud.


3 Responses to “Will Virtualization Kill the Cloud?”

  1. Jeff Wolfers (@JeffinLondon) Says:

    Jacob…. in moving an important workload from one’s own data center to a cloud provider, it is critical to enter into an SLA agreement with that provider. The SLA should clearly set out response time and availability targets and financial penalties for not making the targets.

    This approach ensures a smooth transition and consistent service levels provided by the cloud vendor.

    Jeff Wolfers

    • Jacob Ukelson Says:

      You are right – but the definition of SLA will need to be more fine grained than that – since response can change for a number of reasons, some of which are caused by the infrastructure, others caused by the application.

      In most public cloud environments you won’t get an “assured” response time and I don’t see them being able to provide that level of SLA any time soon – because of the costs and uncertainty involved. You will get the virtual machines they promised in the SLA and asurances about availability and uptime. The problem is just that the actual performance of those machines could be affected by the environment – and you really have no way of knowing that. It can happen in any virtualization environment (data center, mainframe) – but in traditional environments there is only one throat to throttle no matter what caused the problem – IT. When it is all done in house everyone that might be involved convene a war-room and duke it out, eventually finding and fixing the problem.

      That won’t work in a public cloud environment – especially since different organizations (not just groups) are involved – and no one sees the whole picture

  2. Jeff Wolfers (@JeffinLondon) Says:

    I one can’t get a proper SLA, then one would be mad to move a mission critical app to such an environment!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: