Virtualization is a pre-requisite of cloud computing. That was what a vendors preached recently in a presentation done in my company. Is virtualization necessary in building cloud? Let’s take a step back and look at the things again.
Google is one of the first pioneers in cloud computing. Gmail is a very good example of a cloud service. It’s highly redundant, highly scalable and possibly having geographically distributed data. There are other apps that Google provides bearing all characteristics mentioned. You can subscribe to their services without having to know where their servers are located geographically. In another words, you are getting services from the cloud.
Amazon is another pioneer in cloud computing. They are also one of the earliest player providing large scale virtualization services. Amazon’s EC2 (Elastic Computing), you can scale your infrastructure, either horizontally, (i.e. creating more VMs) or vertically (i.e.. increase memory and CPU for your VM). All these expansion can be done in short period of time, and Amazon’s infrastructure would ideally take care of the redundancy and failover if the host nodes fail.
Salesforce.com, if I remember correctly, was one of the first companies to adopt the term ‘Software As A Service’ and later “cloud” as a selling point for their product. Similarly like Google, they provide their services over the internet. There’s no geographical boundaries and their services are highly redundant.
So, when we look at this 3 companies, what is the common denominator? Definitely not virtualization. So can we still say that virtulization is a necessary building block?