Cloud Computing has emerged as the biggest buzzwords with industry experts debating its enterprise-readiness and dependence on underlying technologies. Present picture of cloud computing is only the tip of an iceberg and there are lot to come in terms on innovation and methodology.
There is a lot of debate around cloud computing from big guns like VMware, Amazon and Google. One of the biggest debates is about the best practice to create cloud solutions using fundamental technologies to bring it for enterprise class.
As we all know that cloud computing appeared long before people realized that it’s going to change the way we compute and use client-server model e.g. grid computing, any paid service e.g. Gmail etc. But there are a number of other changes in technology that make cloud computing as big as it is today e.g. technology which addressed issues like scalability, availability and network bandwidth. In recent years, some of the issues have been resolved due to technology sprawl in computing industries.
One of the biggest innovations during this era is Virtualization. There are many faces to this technology but it mainly emerged as a winner in the Data Centre Consolidation and Optimization. Virtualization also helps in solving the scalability issue to an extent due to its capability of multitenancy and distributed nature. It also helps the data centre administrator to easily manage the server using some easy to use APIs. So just invoke the API, and you are done with creating severs. Virtualisation helped in realising that VMs are "FILE” concepts, which can be booted, shutdown and migrated just like a file in distributed environment. One can realize the importance of it with the fact that a company like VMware is investing billions of dollars in it, and the Virtualisation market share in computing industries is increasing with big margins.
Recent cloud solutions are heavily based on core Virtualisation technologies e.g. VM provisioning, VM Migration etc. Even Amazon says that on one click you will get an instance, which is possible due to the Virtualization solution underneath
However, there is another side of Virtualization solution which many cloud vendors do not find of enterprise class. E.g. Google argues that Virtualization adds just an overhead both in amount of code/data and performance, and Virtualization software heavily depends on hardware reliability and always assumes that hardware does not fail. According to Google, hardware can fail so it uses other low-level customized servers in the data-center and has built reliability in software. Google generally believes that the traditional CLIENT-SERVER model still persists and works well in today’s scenario. They are arguing on the kind of performance we will see in this model as compared to the virtualisation platform.
There is a big debate going on between Google and VMware regarding the future of data-center
and cloud computing. Here are some snippets:
According to Google, "It will be very sad if we need to use virtualization. It is hard to claim we will never use it, but we don't really use it. In the virtualization approach of private data-centers, a company takes a server and subdivides it into many servers to increase efficiency. We do the opposite by taking a large set of low-cost commodity systems and tying them together into one large supercomputer. We strip down our servers to the bare essentials, so that we're not paying for components that we don't need. For example, we produce servers without video graphics chips that aren't needed in this environment. Virtualisation vendor spends a lot of amount in high-end and reliable hardware. But we think hardware can fail and bring the reliability in software.”
VMware at VMWORLD 2009 revealed and sent a message to all the other vendors out there trying to suggest a different cloud computing model -- Virtualization is the only viable way to go for the cloud solution.
My Personal views are that Virtualization made a big impact on the computer industry and its very fundamental innovation since the 80's. In many contexts, it really makes sense to use virtualization for cloud computing but not all. Cloud computing still has to leverage the full potential of Virtualization. To achieve these goals three things need to be in place:
- Standardisation in managing Virtual Infrastructure. E.g. lib-cim standards
- Uniform ways to represent VM as FILE e.g. OVF (it is still has to go long way)
- Big leap in hardware technology where scope of hardware failure tends to zero (This can avoid the software overhead used to create such reliability in hardware)
There are other solutions around virtualization which still have not made an impact on cloud computing e.g. Virtual Appliance (VA), OVF etc. When we think of bringing all cloud solutions under one umbrella, then
these concepts will play a major role in designing future data-centres which will have place for both Public and Private Cloud.