volve a significant benefit; since virtual
machines are analogous to physical
machines, administrators can move
existing in-house server workloads
in their entirety, or the full software
stack, dependencies and all, to the
cloud, with little or no modification.
Virtualization has also proved itself
an excellent match for various trends
in computer hardware over the past
decade; for example, increasingly parallel, multicore systems can be partitioned into a number of single- or dual-core virtual machines, so hardware can
be shared across multiple users while
maintaining isolation boundaries by
allowing each virtual machine access
to only a dedicated set of processors.
Multiplexing several virtual machines onto a single physical host
allows cloud operators to provide
low-cost leased computing to users.
However, such convenience comes at
a price, as users must now trust the
provider to “get it right” and are largely
helpless in the face of provider failures.
benefit from scale, as they can collect
large quantities of data and perform
analytics to detect intrusions and other
abnormalities not easily spotted at the
level of individual systems.
The value of such centralized deployment is evident from its rapid uptake in industry; for example, Netflix
migrated significant parts of its management and encoding infrastructure
to Amazon Web Services,
12 and Dropbox relies on Amazon’s Simple Storage Service to store users’ data.
desktop services (such as OnLive Desktop) have also helped users augment
thin clients like iPads and Chrome-books with access to remote workstations in data centers.
Virtualization is at the forefront of
this shift to cloud-hosted services—a
technique for machine consolidation
that helps co-locate multiple appli-
cation servers on the same physical
machine. Developed in the 1960s and
rediscovered in earnest over the past
decade, virtualization has struck a bal-
ance between the organizational need
to provision and administer software at
the granularity of a whole machine and
the operational desire to use expensive
datacenter resources as efficiently as
possible. Virtualization cleanly decou-
ples the administration of hosted soft-
ware from that of the underlying physi-
cal hardware, allowing customers to
provision servers quickly and account-
ably and providers to service and scale
their datacenter hardware without af-
fecting hosted applications.
Achieving a full range of features in a
virtualization platform requires many
software components. A key one is the
hypervisor, a special class of operating
systems that hosts virtual machines.
While conventional OSes present system- and library-level interfaces to run
multiple simultaneous applications,
a hypervisor presents a hardware-like
interface that allows simultaneous execution of many entire OS instances at
the same time. The coarser granularity
sandboxes provided by hypervisors in-