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).