cLoUD coMPUtInG HaS been pioneering the business
of renting computing resources in large data centers to
multiple (and possibly competing) tenants. The basic
enabling technology for the cloud is operating-system
virtualization such as Xen1 or VMWare, which allows
customers to multiplex virtual machines (VMs) on a
shared cluster of physical machines.
Each VM presents as a self-contained
computer, booting a standard operating-system kernel and running unmodified
applications just as if it were executing
on a physical machine.
A key driver to the growth of cloud
computing in the early days was server
consolidation. Existing applications
were often installed on physical hosts
that were individually underutilized,
and virtualization made it feasible to
pack them onto fewer hosts without
requiring any modifications or code
recompilation. VMs are also managed
via software APIs rather than physical
actions. They can be centrally backed
up and migrated across different phys-
ical hosts without interrupting service.
Today commercial providers such as
Amazon and Rackspace maintain vast
data centers that host millions of VMs.
These cloud providers relieve their
customers of the burden of managing
data centers and achieve economies of
scale, thereby lowering costs.
While operating-system virtualization is undeniably useful, it adds
yet another layer to an already highly
layered software stack now including:
support for old physical protocols (for
example, disk standards developed
The Rise of the
Article development led by
What if all the software layers in a virtual
appliance were compiled within the same safe,
high-level language framework?
BY anIL maDhaVaPeDDY anD DaVID J. Sco TT