Customers are most commonly confused about the difference between Virtualization and Cloud. Many customers who have adopted virtualization believe they have implemented Cloud Computing. Though the confusion is probably the result of the wide variety of messages that customers hear from vendors, there is a difference and it is an important one.
Virtualization is the creation of a virtual (rather than actual) version of something, such as a hardware platform, an operating system, a storage device or a network resource. Simply stated, Virtualization is a technique that allows you to run more than one server (or another infrastructure component) on the same hardware. For example, one server is the host server and controls the access to the physical server’s resources. One or more virtual servers then run within containers provided by the host server.
The hypervisor software (which controls access to the physical hardware) may run on “bare metal” allowing a user to run multiple operating systems on the same physical hardware, or the hypervisor may run on top of a host operating system, allowing other operating systems to run within this host OS, and so on the same physical hardware. The latter inherently gives lower performance, since it has to go through more layers of software to access the physical resources.
Cloud Computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a metered service over a network (typically the Internet). Cloud Computing may look like Virtualization because it appears that your application is running on a virtual server detached from any reliance or connection to a single physical host. However, Cloud Computing can be better described as a service where Virtualization is part of a physical infrastructure.
Cloud Computing builds on top of a virtualized infrastructure (compute, storage, network) by using standardization and automated delivery to provide service management. This makes monitoring the virtualized resources and the responsible deployment of these resources possible.
Virtualization is simply a preparation for the delivery of IT in a very powerful way within an organization. It removes a level of complexity for end users, one that should never have been there in the first place, while primarily cutting costs for the organization. Cloud Computing ties directly to the way an organization uses its IT resources and enables a quantum change in the experience throughout the organization – easing the administrative burden of deploying, managing, delivering IT resources, and providing the ability for end users to request and use virtualized IT resources (or perhaps even an application or a business process where the end user does not have to be aware of the underlying IT resources being used).
Virtualization is a necessary and logical step that all organizations need to take in adopting a cloud computing infrastructure. However, it is critical that even when taking this first step, they do so with Cloud Computing as the end in mind. They need to make tradeoffs in adopting Virtualization in a way that they are successful with their adoption of Cloud Computing. And, organizations need to understand that Standardization and Automation on top of virtualization are what provide Cloud Computing for the organization.