Adrian_Cabrera_paper1 - Illinois Institute of Technology

advertisement
COMARING AND CONTRASTING PARA-VIRTUALIZATION AND VIRTUALIZATION 1
Comparing and Contrasting Para-Virtualization and Virtualization and
Why Amazon Web Services use XEN for its EC2 Platform
Adrian Cabrera
Illinois Institute of Technology
COMARING AND CONTRASTING PARA-VIRTUALIZATION AND VIRTUALIZATION 2
It has been my experience working for an IT consulting firm that the main
business goal of the company is to provide IT solutions for a customer. As a
company, we want an infrastructure that is reliable, powerful and highly available,
when building an environment for a client. Virtualization was a common term that I
heard often in the workplace as a possible solution. “Virtualization is the creation of
a virtual (rather than actual) version of something, such as an operating system, a
server, a storage device or network resources” (Rouse). For the purpose of this
paper, we will be talking about operating system virtualization, which allows one
box or one computer the ability to run multiple operating systems at once.
For a business or enterprise environment, virtualization has several
advantages. One example is a better use of existing hardware (Hagen). In my
experience, administrators will limit the amount of applications on a server because
they do not want all their eggs in one basket. If a server goes down, then all the
applications running on it go down as well. As a result, administrators will decide to
run one or two pertinent applications on one server. Moreover, that server that is
running one or two applications is underutilized. The server is not taking advantage
of the entire RAM and processing it is capable of. So in the case of virtualization
where we can run multiple operating systems on one machine, we can share
resources and take full advantage of the existing hardware.
Another advantage of virtualization is being able to save money. One
example is reducing the cost of new hardware (Hagen). A virtual machine can be
spun up, instead of buying new hardware when a machine is needed. By converting
physical machines to virtual machines, you are reducing the amount of space that is
COMARING AND CONTRASTING PARA-VIRTUALIZATION AND VIRTUALIZATION 3
being taken up in a server room, you can use the decommissioned parts as backup
or a way to add more power to existing machines, and there are less machines to
cool with a cooling system(Hagen).
Finally, another advantage of virtualization is easy deployment (Hagen). By
having a base image of a system in place, one can easily create a new instance using
that base image to create a new virtual machine. This reduces the time needed to
setup a machine for the first time.
The items listed above are advantages of virtualization. Para-virtualization
shares the same advantages. The main differences come in how the software talks to
the hardware. With full virtualization, the operating system is not aware that it does
not have direct access to the hardware (McCarty). The operating system is tricked
into thinking that it lays just on top of the hardware, when in reality the hardware is
emulated (McCarty). This can cause a decrease in performance because you are
emulating the hardware (McCarty). Para-virtualization on the other hand has this
man-in-the-middle concept between the software and the hardware. In this
situation, the operating systems are aware that they are in a virtual environment
and that their kernel has been modified to accommodate that (Day). This usually
means the performance better because the hardware is not emulated (Day). To
repeat, with full virtualization, the operating system is unmodified and the
hardware is emulated while with para-virtualization, the operating system is
modified to work in a virtual environment and the hardware is not emulated.
Now comes the discussion about Xen and KVM Virtualization. “The Xen
hypervisor is a layer of software running directly on computer hardware replacing
COMARING AND CONTRASTING PARA-VIRTUALIZATION AND VIRTUALIZATION 4
the operating system thereby allowing the computer hardware to run multiple guest
operating systems concurrently” (www.xen.org). It has three main components, the
hypervisor, Dom0 (privileged, has direct access to hardware), and DomU
(unprivileged, does not have direct access to hardware) (www.xen.org). It uses
para-virtualization technology and will take “control of the machine and divides
resources among guests” (www.linux-kvm.org). KVM on the other hand uses full
virtualization and lives inside Linux. This means that it relies on the “regular Linux
scheduler and memory management” (www.linux-kvm.org). Another difference
between Xen and KVM is that Xen can run modified operating systems, while KVM
can run unmodified operating systems. With that said, KVM can only run on
processors that can allow for virtualizations.
With all this being said, I believe Amazon Web Services chose Xen for their
EC2 platform because of scalability. According to www.xen.org, of the several
highlights, scalability was listed as one of them. Moreover, in this wiki, scalability is
mentioned for Amazon’s EC2 platform
(http://en.wikipedia.org/wiki/Amazon_Web_Services).
Overall, the main difference between para-virtualization and full
virtualization is that in full virtualization the hardware is emulated, while in paravirtualization the operating system is modified to let it know that it is running in a
virtual environment. The differences are the same for Xen and KVM since Xen uses
para-virtualization and KVM uses full virtualization. Finally, I believe Amazon Web
Services uses Xen because of performance and scalability.
COMARING AND CONTRASTING PARA-VIRTUALIZATION AND VIRTUALIZATION 5
Works Cited
Day, Robert. (2008) A New Era Dawns With The Rise Of The Embedded
Hypervisor. Electronic Design, 56(19), 18.
Hagen, William von. ( © 2008). Professional xen virtualization.
[Books24x7 version] Available from
http://common.books24x7.com.ezproxy.gl.iit.edu/toc.aspx?bookid=23442.
McCarty, Ronald (2012) Virtualization. Search Server Virtualization,
December, retrieved on August 29, 2012 from
(http://searchservervirtualization.techtarget.com/definition/virtualization).
Rouse, Margaret Paravirtualization Explained. Search Server Virtualization,
retrieved on August 29, 2012 from
(http://searchservervirtualization.techtarget.com/tip/Paravirtualizationexplained).
Download