Virtualization for Newbies
One of the most popular topics in Information Technology (IT) the last several years has been virtualization. This paper introduces virtualization, beginning with reasons why a company would want to virtualize in the first place. One of the main reasons that most businesses like virtualization is to save money. Of course helping the budget is a good idea, but there are additional reasons to virtualize and different levels of virtualization as well. After listing reasons for virtualizing, there is a section on the early origins of virtualization and how some of the ideas introduced in the beginning of virtualization are still prevalent today. Although server virtualization gets most of the attention, there are other types of virtualization available. The conclusion lists different types of virtualization in IT, including naming some of the major vendors in each area.
Virtualization is an umbrella term that continues to evolve to include many different types that are used in many different ways in production environments. Originally virtualization was done by writing software and firmware code for physical equipment so that the physical equipment could run multiple jobs at once. With the success of VMware and its virtualization of x86 hardware, the term virtualization has grown to include not just virtualizing servers, but whole new areas of IT. This white paper takes a look at the origins of virtualization and how some of the historical development has spurred on today's virtualization. In addition, we will discuss different types of virtualization that are being utilized in the marketplace today and a listing of some of the leading vendors.
In general, the idea behind virtualization is to make many from one. As an example, from one physical server using virtualization software, multiple virtual machines can run as if each virtual machine were a separate physical box. In data centers, before virtualization, one or more applications and an operating system would run on their own unique physical server. Since each one of those physical servers needed floor or rack space, there was a problem of the growing size and number of data centers that businesses needed in IT. Using virtualization to consolidate the number of physical servers reversed the trend of this sprawl, and companies began to see a cost savings.
From the system administrator's point of view, another reason to virtualize is the ability to quickly add more virtual machines as needed, without having to purchase new physical servers. The delay in obtaining new servers varies widely with each company and, in some environments, could be quite lengthy. With virtualization, the length of this process can be greatly reduced because the physical server is already up and running in production. The system administrator can quickly create a brand new virtual machine by adding the virtual machine to an existing physical host. Thus, you can run many virtual machines on one physical server.
A third reason to virtualize is for better resource utilization. Before virtualization, it was not unusual to see a physical server using less than five percent, or even ten percent, of its CPU and/or memory. As an example, consider the case where a physical server was purchased to run an application that only runs during the evening. When the application is not processing, such as in the morning or afternoon, then the physical box is sitting idle, which is a tremendous waste of resources. Thus, virtualizing the application that is used only at night runs at night, leaves that virtual machine to run on the same server with other virtual machines that utilize resources during the morning or afternoon. The virtual machines will balance each other's resource usage. Since one virtual machine application will run during the day, and the other virtual machine's application will process at night, the physical server will better utilize its resources. Resources such as memory and CPU on a server can be safely utilized by multiple virtual machines processing up to 75 percent to 80 percent on a continuous basis, with server side virtualization from vendors such as VMware. The advantage is the utilization of the resources will be far more efficient with virtualization, than if the applications ran on individual physical servers.
A fourth reason to use virtualization is that it can utilize new features that create a more reliable environment. As an example, VMware offers a feature called High Availability (HA). This additional feature is used when a physical server fails. After HA has determined that the physical server is down, it can restart the virtual machines on surviving servers. Therefore, an application will experience less down time using HA as an automated approach to physical server failure. Other vendors have their own features written into their code that offer different forms of reliability as well.
These are a few of the reasons to virtualize, and there are definitely more. Now, let's turn to the beginning of virtualization.
Origins of Virtualization
The origins of virtualization began with a paper presented on time-shared computers, by C. Strachey at the June 1959 UNESCO Information Processing Conference. Time-sharing was a new idea, and Professor Strachey was the first to publish on the topic that would lead to virtualization. After this conference, new research was done, and several more research papers written on the topic of time-sharing began to appear. These research papers energized a small group of programmers at the Massachusetts Institute of Technology (MIT) to begin to develop a Compatible Time-Sharing system (CTSS). From these first time-sharing systems attempts, virtualization was pioneered in the early 1960s by IBM, General Electric, and other companies attempting to solve several problems.