Database Reference
In-Depth Information
MySQL [45], Oracle [46], and Microsoft SQL databases) can be further employed
in conjunction with EC2 instances. Finally, users can always configure, install, and
run at any time any compatible software on EC2 instances, exactly as is the case
with regular physical machines. We next discuss the virtualization technology that
Amazon underlies EC2.
16.9.1 a mazon eC2 v irtualization t eChnology
Amazon EC2 demonstrates the power of cloud computing. Under the hood, it is a
marvel of technology. As of March 2012, it presumably hosts around 7100 server
racks with a total of 454,400 blade servers, assuming 64 blade servers per rack [38].
Above its datacenters, Amazon EC2 presents a true virtualization environment using
the Xen hypervisor. Xen is a leading example of system virtualization, initially
developed as part of the Xenoserver project at the Computer Laboratory, Cambridge
University [18]. Currently, Xen is maintained by an open-source community [63].
The goal of Xen is to provide IaaS with full isolation and minimal performance
overhead on conventional hardware. As discussed previously in the chapter, Xen is a
native hypervisor that runs on bare metal at the most privileged CPU state. Amazon
EC2 utilizes a highly customized version of Xen [6], supposedly to provision and
isolate user instances rapidly, consolidate instances so as to improve system utiliza-
tion, tolerate software and hardware failures by saving and migrating instances, and
apply system load balancing through live and seamless migration of instances, to
mention a few.
Amazon EC2 instances can be created, launched, stopped, and terminated as
needed. Such instances are system VMs composed of virtualized (or paravirtual-
ized) sets of physical resources including CPU, memory, and I/O components. To
create instances, Xen starts a highly privileged instance ( domain 0 ) at a host OS out
of which other user instances ( domain Ui) i ) can be instantiated with guest OSs
(see Figure 16.24). As host OSs, Novell's SUSE Linux Enterprise Server, Solaris
and OpenSolaris, NetBSD, Debian, and Ubuntu, among others, can be used. It is not
known, however, which among these host OSs Amazon EC2 supports. On the other
hand, Linux, Solaris and OpenSolaris, FreeBSD, and NetBSD can be employed as
guest OSs, to mention a few. Among the guest OSs that Amazon EC2 supports are
Linux, OpenSolaris, andWindows Server 2003 [66]. Amazon EC2's guest OSs are
run at a lesser privileged ring as opposed to the host OS and the hypervisor. Clearly,
this helps isolating the hypervisor from guest OSs and guest OSs from each other,
a key requirement on Amazon AWS's cloud platform. Nonetheless, running guest
OSs in unprivileged mode violates the usual assumption that OSs must run in sys-
tem mode. To circumvent consequent ramifications, Xen applies a paravirtualized
approach, where guest OSs are modified to run at a downgraded privileged level. As
a result, sensitive instructions are enforced to trap to the hypervisor for verification
and execution. Linux instances (and most likely OpenSolaris) on Amazon EC2 use
Xen's paravirtualized mode, and it is conjectured also that Windows instances do
so [14,66]. Upon provisioning instances, Xen provides each instance with its own
vCPU(s) and associated ISA. As discussed in Section 16.6, the complexity of this
step depends entirely on the architecture of the underlying pCPU(s). To this end, it is
Search WWH ::




Custom Search