Cloud Computing vs. Virtualization

Twice this past week I had someone ask me to explain the differences between virtualization and cloud computing. I answered them both in overly drawn-out ways. But kept pondering the question in hopes of coming up with a more succinct answer. Here it goes…

Cloud Computing is a mechanism, an approach, for the delivery of services. Virtualization is one possible service that could be delivered. However, like most services, virtualization can be delivered via mechanisms other than cloud computing.

Yeah, I know it sounds like a marketing sound bite. But its short and I believe gets the point across. How I came down to this involved revisiting my What is Cloud Computing blog post from last May and comparing that to the solutions offered currently.

The Definitions

There are two published definitions of cloud computing. The NIST is working on their version and Gartner is sort of working on theirs. Here are the highlights:

NIST – On-demand self-service, Ubiquitous network access (internet standards based), location independent resource pooling, rapid elasticity, and measure/metered service

Gartner – service-based, scalable and elastic, shared, metered by use, and uses internet technologies

Pretty similar on the whole. Now for Virtualization. From Wikipedia:

Desktop virtualization is the use of virtual machines to let multiple network subscribers maintain individualized desktops on a single, centrally located computer or server. The central machine may be at a residence, business or data center. Users may be geographically scattered but are all connected to the central machine by a proprietary local area network (LAN) or wide area network (WAN) or the Internet.

Straightforward enough.

Where my thoughts took me

As I pondered how to really help clarify the differences, I was troubled. Many cloud solutions, both public and private, leverage virtualization to deliver their functionality. Amazon’s EC2 is all about virtualized infrastructure. Microsoft’s Windows Azure uses virtual instances of a customized version of Windows Server. Its no wonder that folks were confused.

I opted to focus on what was being delivered, what was the service being provided. If I virtualized a server, it wouldn’t have the bulk of the attributes listed by NIST or Gartner. Its just a box sitting out there on a network that I can access remotely. Its not inherently scalable or elastic. Its use is not metered, and it only lives where I have it running.

However, various services do allow me to create virtualized resources. And these services do demonstrate the various attributes of Cloud Computing.  So while Virtualization may be both a means to deliver cloud computing and a solution delivered by it, virtualization is not inherently, in and of itself, a cloud computing solution.

Short and sweet

So there we have it. A simple way to explain the difference and hopefully help clarify some of the confusion that is out there. Its a major simplification of course. There are different types of clouds just like there are different types of cloud computing solutions. But I do believe this is a simple enough definition to act as a starting point.

Advertisements

5 Responses to Cloud Computing vs. Virtualization

  1. Neil says:

    I would say that virtualization is an enabling technology for the Cloud.Separately, there is a good report from UC Berkeley titled "Above the Clouds: A Berkeley View of Cloud Computing." The report states:– Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systemssoftware in the datacenters that provide those services. The services themselves have long been referred to as Softwareas a Service (SaaS), so we use that term. The datacenter hardware and software is what we will call a Cloud.– When a Cloud is made available in a pay-as-you-go manner to the public, we call it a Public Cloud; the servicebeing sold is Utility Computing. Current examples of public Utility Computing include AmazonWeb Services, GoogleAppEngine, and Microsoft Azure. We use the term Private Cloud to refer to internal datacenters of a business orother organization that are not made available to the public. Thus, Cloud Computing is the sum of SaaS and UtilityComputing, but does not normally include Private Clouds.http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf

  2. Pingback: Cloud vs. Virtualization « Daily Thrill

  3. Praneeth Kumar says:

    Hi Brent,

    I’ am still confused with the above explanation regarding the differentiation between both Cloud Computing and Virtualization.I just don’t need the entire explanation but i just wanted to know what is the exact step which can be taken to become a Cloud Computing Architect.

    Please note that i’m just an High school Passed Out candidate and looking forward to pursue my graduation and interested in working on Cloud Computing and become a Cloud Computing Architect in about five (5) years down the line.

    Some of my friends advised me to do certifications on Cisco (Ex ; CCNA, CCNP , CCDA ) and then get into Network Designing. Will that help me in becoming a Cloud Computing Architect…???

    I would be more than happy if you guide me in achieving my dream project. Waiting eagerly for your prompt reply,

    Thanks & Regards,
    Praneeth Kumar.

    • Brent says:

      My interest/involvement in cloud mainly comes from the application development side of things (building software to run in a cloud model). It sounds like what you’re after is more from the infrastruture side of things (setting up hardware/software as a cloud). Unfortunately, I can’t speak much to the later beyond recommending you find a specific cloud technology/platform and pursue it. Options include MSFT Hyper-V cloud, IBM’s Cloud Burst, Amazon EC2, etc…

      Find one of these and dig into it. As you do this, you’ll likely find related cloud technologies/standards that you will want to pick up or get certified in. 🙂 I hope this helps.

    • At this point you can get a bunch of explanations on the difference from a IaaS perpective. I create a video on the topic a while back http://www.youtube.com/watch?v=o9YMF0VDERg

      But in general there are 5 different attributes of any cloud environment (Elastic, Shared, Self Service, Meassurable and Broad Network Access). Virtualization has most of these attributes with the missing ones being Self Service and Meassurable. Technically speaking you could bolt a cloud manager like vmware vCloud director on top of your virtualization environment and have a IaaS cloud.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: