Share what you know with millions of people
Focus is the best place to turn what you know into remarkable content
0
Why isn't virtualization cloud computing?
Things have been way to quiet on the cloud computing topic, so I'm posting a controversial question to drive some good discussion. We all hear many cloud experts say, virtualization isn't cloud, but I never hear any good reasons why this is the case. I'm also going to add my own $.02 on this one, but join in to the fray on either side of the equation.
Events
- Lead Nurturing 202: The Next Generation May 31 @ 11 am PT
- The Tricks to Paid Media June 6 @ 11 am PT
- Display Advertising for Brand Awareness June 20 @ 11 am PT






9 Answers
Virtualization enables several aspects of cloud computing, but in and of itself is not cloud computing. You can do the virtualization thing and not call it a cloud.
Obviously virtualization makes things like elasticity and self-service provisioning a reality, which are key characteristics of a cloud environment. But, I can also have a cloud without those things. Do I absolutely need virtualization to run a multi-tenant SaaS environment? No. Can I create a IaaS on demand environment without virtualization? Yes. Can I deliver either of those services as effectively without virtualizaiton? Probably not.
So, while the two sides of the equation are related, they are not totally dependent on each other. Net result, virtualization does not equal cloud computing.
Now, with all that said, would "cloud computing" (our beloved marketing term) be what it is today without virtualization? No... So no matter how you slice and dice your question there's always going to be an argument that can be made for either side...
You rabble rouser you... :)
Building on what Robert has stated - virtualization is a key enabler to cloud - driving the automation necessary to ultimately enable self service to the end user. We've been able to provision physical resources in an automation fashion for some time - but compared to software based provisioning it's slow, complex, and just plain inefficient. Just like software defined networking is exploding with potential - you will look back in a couple of years time and wonder how we ever did without it.
That being said - I've long maintained that virtualization is a just a tool (in a set of many) that speaks to how you build a solution set. If a cloud services provider could provision physical resources vs. virtual and still compete (performance, economics) - then more power to them. This is happening in some niche markets but it's getting more and more difficult to maintain. How do you compete with the agility and cost savings (through scale out potential) that virtualization buys you?
Good points. But does speed and performance _require_ specialization? No doubt that is the path of least resistance, but I'm not convinced it is a requirement. If that were true - people would be abandoning hope of processing big data and/or real time high performance processing on generic platforms like EC2. Instead, new(ish) technology that is purpose built to solve these needs is emerging. (nosql, memcached-like processing aggregation, etc.). Your point of specialized vs. generic approach isn't lost on me - I'm just not sure it is that black and white. The economies of scale embodied in today's generic platforms seem to be valuable enough to spur people to begin to "think different". How is that for a call-back to your first sentence? :-D
Virtualization isn't cloud computing because for the same reason that CPU != Computer
In this context, I'm using the term "virtualization" to mean "server virtualization"
It is a key component in cloud computing, certainly, but as several folks have aptly pointed out, SaaS is a legitimate segment of cloud computing that need not rely on server virtualization.
Even when one relies on server virtualization within an organization, the result might be some flexibility and better capacity management within the technology arm of that organization, without any corresponding ability of the direct end user community to self-provision services within that organization.
Virtualization is primarily a technology. Cloud computing encompasses not only technolgy, but ideologies and policies which move the control of the activities involved in the enabling and disabling of services closer to the user of those services. It also facilitates an every-access model that is not inherent in virtualization.
Virtualization is only a part of the overall scope of cloud computing.
-ASB: http://XeeMe.com/AndrewBaker
Simple and easy analogy (at least for public cloud):
your application or your OS = passenger
server virtualization = bus full of passengers
cloud = public transport service
cloud provider = public transport service company
Hope this helps a bit in understanding differences between terms. If we want to expand the cloud types (private, hybrid), we can talk about private/company car pool, or rental car pool or Taxi service.
The main idea behind cloud computing is - take what you need, for how long your need it and pay for what you've used. And of course, access it from anywhere and from any device.
As far as I'm concerned, virtualization is in fact a type of cloud computing. A VMware ESX cluster deployed in an enterprise environment easily meets all of the criteria currently proposed to define cloud computing.
Until we can agree on a definition of cloud computing that is more exclusive and definitive, Facebook, Amazon, Google, Oracle Exalogic, Salesforce.com, and everything else marketers can stamp "cloud" on cannot be legitimately excluded.
Patrick,
Your last point is a key theme in Steve Jobs' biography. The balance between openness with it's sacrifices to meet lowest common denominator to gain agility, and closed where the entire experience can be controlled. The business community has been driving openness since the days of Unix because the competition benefits them and because "good enough" software is an acceptable mantra when IT is not your business' focus.
I've never been a big fan of abstraction across tiers. It's great when developing software libraries, but abstraction across the tiers introduces to many anomalies. However, you cannot argue that it limits your agility to flatten the tiers. If you code your business logic directly into SQL Server stored procedures, you cannot easily move to Oracle or MySQL. Speed and performance requires specialization. Genericism is the host of mediocrity.
Virtualization is the key enabler of Infrastructure as a service, one important aspect of Cloud based deployment. Platform as a service enables rapid application development and deployment in cloud, and a proper IaaS framework would be important for PaaS. The thurd component, SaaS can take advantages of PaaS and IaaS infrastructures. The current SaaS based application is a hosted model and have some characteristics of Cloud..
Cloud computing should be defined as where and not how you compute. Cloud computing is essentially outsourcing in a shared data center and has the features of scalablity, on-demand resources, and a Opex cost model. Cloud computing may and usually does include virtualization but can also include dedicated or physical servers, but again, it's where the computing is located is what matters. Centralized, shared data center resources managed by a third party makes up Cloud computing. If you use servers you own in a facility you own it's not Cloud computing.
Answer This Question