Ask a non-technical person what the “cloud” is and you’re not likely to get a straight answer, even less so with “virtualization”, but both have significant benefits for your business. That being said, there are differences between the two, and these differences are important when you are considering deploying either of these technologies into your operation.
Essentially, virtualization is software that splits up your physical hardware and infrastructure into separate, dedicated resources. Virtualization forms the platform which allows cloud computing to run and operate.
Virtualization software allows for multiple operating systems, multiple applications and systems to operate on the same physical server at the same time. Essentially, virtualization creates partitions on a server which then operates as if it was itself a server – you can have multiple virtual servers, or virtual machines, operating on the same piece of hardware. This was previously not possible, and virtualization has created significant cost savings as there is no need to provision and maintain a separate server because of the monopoly imposed by a particular OS, application or system.
Virtualization not only significantly reduces costs, it also creates operational efficiencies too. Fewer servers do more work, with physical hardware now capable of performing multiple operations at the same time. Greater flexibility and agility is also achieved, as the tie between hardware and software is broken – essentially, when a particular piece of software runs in a virtual environment, it does not matter what the underlying hardware is that it is operating on – software operates on a virtual layer which operates on the hardware concerned.
The principal component of virtualization is the Virtual Machine Monitor (VMM) which is also known as the virtual manager, and this separates software from hardware.
What is the Difference between Virtualization & Cloud Computing
Virtualization refers to the software which splits hardware and physical infrastructure from the operating software. Cloud computing is a particular service which can be delivered as a result of virtualization. Cloud computing refers to the delivery of shared services and resources over the Internet, and this can be delivered either on demand or as a service (Software as a Service or SaaS for instance).
A great deal of the confusion between cloud computing and virtualization occurs because the two terms are so closely related and work together, however they are not the same. For instance, the cloud can actually deliver functionality that virtualization alone cannot: for instance, pay-as-you-go services, the ability to scale both in terms of number of users and geographical coverage, elasticity and agility, self-service functionality, automated management and control and so on, none of which form a part of virtualization.
The confusion which arises between cloud computing and virtualization becomes more acute when we introduce public and private clouds. Private clouds are owned or leased by the private client for their exclusive use. The customer will buy or lease the physical hardware and software which delivers the services they decide to provide through their private cloud offering, and these may be accessed by their own employees, or offered to external third parties such as their own customers or partners, as well as being sold on to paying customers. Essentially, a private cloud is operated under the sole control of the entity which owns it, and they decide who uses the resources.
Now let’s look at a public cloud: these tend to be much larger with multiple customers using services and applications, which are paid for typically on a pay–as-you-go basis. This means you forgo control, but you reduce your costs, firstly by not having to invest in setting up a private cloud operation, and secondly by only paying for what you use.
Moving to a private cloud with virtualization gives the owner the best of everything: on the one hand, you have the control (and security) of a private cloud, but you are also able to access the pay-as-you-go model for the services you use. In addition, you are able to maintain security to a standard you decide, and you do not have to worry about issues such as bad neighbors sharing the service with you, or latency issues when services are experiencing a surge in use by a large number of users at the same time.