Welcome!

Open Source Authors: Paul Miller, Jeremy Geelan, Elizabeth White, Mark R. Hinkle, RealWire News Distribution

Related Topics: Web 2.0, Virtualization, Cloud Expo, GovIT

Web 2.0: Blog Feed Post

Why the Cloud Needs Virtualization

My position is virtualization doesn't make the cloud, it makes the cloud better

Virtualization Magazine on Ulitzer

Lots of discussion lately about the need for virtualization in a cloud computing context. On one side you have people saying it's not necessary and adds extra complexity, on the other you have people (vendors) saying that virtualization is inherently a cloud infrastructure. Some even go as far as saying that virtualization and cloud computing are one in the same. I'm here to tell you that neither is true. My position is Virtualization Doesn't Make the Cloud, it makes the cloud better. Sure, you could manage raw servers Google style, but why? For me, it comes down two main aspects of scale, scaling up, and scaling out.

First let's look at scaling out, or to scale horizontally which basically means to add more nodes to a distributed system, such as adding a new servers or storage (which is easier). These could be in the form of physical or virtual servers. An example might be scaling out from one web server system to many dedicated slaves machines. Google has made an art form of scaling out. They have data centers around the globe geared toward this one core task - just in time hardware provisioning, but for most this is a very difficult and costly endeavour. Virtualization makes this sort of instant replication & provisioning of many virtual machines much easier.

Next is scaling up or the ability to scale vertically which means adding resources to a single server in a distributed system. Typically this involves the addition of CPUs or memory to a single virtual server in the form of Virtual CPU and RAM. Unlike a physical server, in a virtual environment you can change your virtual hardware characteristics, a physical server is what it is. You run at it's maximum potential limiting it's ability to easily scale up. If you need more scale you need more hardware or have to manually add more components to the physical server (RAM, CPU, storage, etc), which means downtime while the servers are upgraded. In virtual environment this isn't a limitation and can often be done on the fly.

Vertical scaling of existing systems also enables you to better leverage Virtualization technology because it provides more resources for the hosted Operating system and Applications that can share these resources in a multi-tenant environment. Virtualization also allows for more automated programmatic control of the system resources in correlation to the demands placed on the infrastructure or application being hosted. This is because in a virtual infrastructure you are not managing any actual physical components but instead virtual representations of them.

So it is very true that virtualization isn't a requirement of a cloud infrastructure, it just makes it a heck of lot easier to manage and scale out or up or both.

More Stories By Reuven Cohen

Reuven Cohen is Founder & CTO for Toronto based Enomaly Inc. - leading developer of Cloud Computing products and solutions focused on enterprise businesses. Enomaly's products include the Enomaly elastic computing platform, an open source cloud platform that enables a scalable enterprise IT and local cloud infrastructure platform. Cohen is a thought leader in the emerging cloud computing industry and maintains a blog at www.elasticvapor.com.

Reuven is also founder of several technology organizations;
Enomaly.com - Elastic Computing Platform (Cloud Computing),
Cloud Camp - Local Cloud Computing events,
the Unified Cloud Interface Project - Semantic Cloud Abstraction API
Cloud Interoperability Forum - Cloud Standards Group.

(twitter @ruv : Linkedin : RSS Feed)

Comments (2) View Comments

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.


Most Recent Comments
rock333 03/18/10 02:11:00 AM EDT

At the IaaS Cloud layer virtualisation is going to be essential to allow the self service attributes, all painful and slow to do with physical hardware. Moving up the stack to PaaS and SaaS the use of virtualisation may, as you say, be less required if you put lots of smarts into your software. A lot of software does not have those smarts and by utalising virtualisation of the layers below can manipulate existing software architectures to have more cloudy attributes through automation (eg run load balancers and deploy more servers automagically).

Over time, as new investment in software at the higher levels of the stack (S/Paas) come to maturity, the need for virtualisation will lower, but not be eliminated.

There is a video of Glenn Dasmalchi, technical chief of staff in the office of the CTO at Cisco, which may be of interest. Glenn provides a summary of how he thinks cloud computing and virtualization are related

setandbma 01/04/10 12:08:00 AM EST

What about Google App Engine which provides scalability without virtualization? -