Monday, March 22, 2010

Virtualization :: Old wine in new bottles

Virtualization dates back to the introduction of CP/CMS later renamed IBM VM-370. VM-370 provided two key ingredients. Multiprogramming and extended machine with better interface with the hardware[1]. The recent interest in Virtualization came on the back drop of energy conservation and providing services to users. The explosive growth of the needs of internet and data centers has fueled this renewed interest in Virtualization.

Virtualization Software
Already have experimented with a virtual machine player VMware Player marketed by VMware Inc. Using this we installed FreeBSD, Ubuntu, Gentoo on top of Windows XP.

Whats the next step towards Virtualization? Hypervisor? Hypervisors are of two basic types. Type one are those which provide direct interface between the Guest OS and the hardware. While the type two hypervisor has a host OS onto which the virtualization software is installed and then the guest OS is installed. VMware ESX and GSX are examples of type 1 and type 2 hypervisors.

So what exactly does Virtualization achieve? The increasing needs of users demanded setting up servers for individual applications. Email Server, Web Server, Internet Server, Print Server, File Server and many more servers are routinely installed and maintained by IT departments in large organizations. Now with the advent of superior hardware the needs of the users can be served by using only one machine with all these server applications running on it. This is generally not possible due to limitations/ requirements of using different OS for different applications. So its better to use hypervisors and install as many applications as possible over a set of hardware. This is not only energy efficient but due to hypervisors as easy to maintain as the each individual servers.

The primary drawback is performance issues. Maintenance could also prop up as a problem (which it tended originally solved) but separate machines might be better from Maintenance. Another issue is security.

Genuine breakthrough or simply old wine in new bottles
Virtualization is one of the few ideas which came back from the dead and took the world by storm. Its importance is gaining due to another technology. Cloud Computing is getting more and more pervasive and this has helped virtualization gain more strength and appeal. Clouds of applications can be maintained by using virtualization like never before. Calling it old win in a new bottles will be a little bit too simplistic. Although on the face of it, virtualization does borrow from the good old VM/370 but with the advent of internet and cloud computing its given the old wine a very nice taste. Application like VMware vSphere for data center virtualization are changing the meaning of virtualization. Amazon's Elastic Cloud Compute (EC2) enables users to rent out computers to run applications using virtualization as a building block to create the EC2.  Grid Computing, an effort where (even geographically) diverse machines come together and try to solve a single task, is defined by Plaszczak/Wellner as "the technology that enables resource virtualization, on-demand provisioning, and service (resource) sharing between organizations."[3].
A very nice but pretty detailed and long introduction is available here.

[1] Tanenbaum, A. S., "Modern Operating Systems", Third Edition, 2008
[3] P Plaszczak, R Wellner, Grid computing, 2005, Elsevier/Morgan Kaufmann, San Francisco

No comments: