|
Virtualization is touted as a new and upcoming trend in computing. Simply stated, virtualization is a technology to run
multiple independent virtual operating systems (OSs) on a single physical computer. It is not a particularly new idea in
the enterprise, having been implemented in the 1960s on IBM mainframes [1].
A number of characteristics of virtualization make it a much discussed topic of conversation today. One is the potential
to better use compute resources, allowing an enterprise to maximize its investment in hardware. In an average
datacenter, the majority of the infrastructure resources are used about 25% of the time. Virtualizing a large deployment
of older systems on fewer highly scalable, highly reliable, modern, enterprise-class servers significantly reduces
hardware costs for infrastructure services. Multiple hardware and software solutions are available on the market and
ready to provide a secure, easily managed platform to deploy, manage, and remotely control VMs.
Virtualization offers so much more than just server consolidation. Intel's IT organization has been studying other uses
of virtualization that can add tremendous value to an enterprise. Virtualization features such as the ability to
suspend, resume, checkpoint, and migrate running VMs is extremely useful in dealing with long running jobs. If a VM with
a long running job checkpoints its state and then the physical machine it is on fails for some reason, the job can be
restarted from where it left off, along with the VM, rather than being restarted from the beginning.
A key difference of virtualization today and the mainframe age is the ability to allocate a VM at the location of a
service's choice. This notion of Distributed Virtual Machines (DVMs) opens a whole host of possible uses, such as
network monitoring, security policy validation, and content distribution. It enables enterprises to create such things
as virtual secure enclaves and do safe yet realistic testing of large scale, even planetary scale, services. This idea
is useful and compelling enough to power the PlanetLab testbed [2], which is slated to become a core part of a next-generation
Internet project called GENI [3].
Virtualization, while a viable technology today, is not without issues. Allocating VMs for enterprise services is not as
simple as finding the first available host. Services have dependencies on network topology and other services. Also,
VMs, while offering many types of isolation, do not offer complete performance isolation. VMs can interfere with each
other.
This paper examines the virtualization of physical host machines, enterprise services, and multi-site instantiation of
virtual environments. First, we introduce the difficulty of virtualizing enterprise service host machines. Second, we
discuss use cases that can give IT organizations many new options in supporting their company's business units. Third,
we review a case study of server virtualization for a business group at Intel and the process they followed from project
inception through implementation. We conclude the paper with a discussion of our results and a description of future
work.
|