CC M2
CC M2
Virtualization technology is one of the fundamental components of Cloud computing, especially in case
of infrastructure-based services. It allowS
creation of
vironment for running applicatiöns, even if they are secure, customizable, and isolated execution en
untrusted,
tions. At the basis of this technology, there the ability of a without affecting other user's applica
combination of software and hardware-to emulate an executing computer programor more in generala
that hosts such program. For example, running Windows OS on top environment separate from the one
of virtua! machine, which
running on Linux OS. Virtualization provides a great opportunity to build elastically scalable itself is
systems,
which are capable of provisioning additional capability with minimum costs. Therefore, it is widely used
to deliver customizable computing environment on demand.
This chapter discusses the fundamental concepts of virtualization, its evolution, and different models
and technologies used in Cloud computingenvironments.
3.1 INTRODUCTION
Virtualization is a large umbrela of technologies and concepts that are meant to provide an abstract
environment-whether virtual hardware or an operating system- -to run applications. This term is often
Synonymous wíth hardware virtualization, which plays afundamental role in efficiently delivering Infra
Structure-as-a-Service solutions for Cloud computing. In fact, virtualization technologies have a long trail
virtual environments
In ne history of computer science and have come into many flavors by providing
a operating system level,programming language level, and application level. Moreover, virtualization
for storage.
Iechnologies not only provide a virtual environment for executing applications, but also
memory, and networking.
explored and adopted, but in the last few
Since its inception, (virtualization has been sporadically
in leveraging this technology. Virtualization tech
years, there has been a consistent and arowing trend the confluence of different phenomena:
iologies have gained a renewed interested recently due to
Capacity. Nowadays, the aver
(a) Increased Performance andtoComputing
fulfill almost all the needs of everyday
computing, and
enough
3 end-User desktop PCis powerfulused. Almost all of these PCs have resources enough to host a virtu
le Is an extra capacity that is rarelyvirtual machine with aby far acceptable performance. Ihe same con
al machine manager and execute a PC market. where supercomputers can provide an immense
SI0eration applies to the high-end side of the of virtual machines.
the execution of hundreds or thousands
Compute power that can accommodate
3.2
Mastering Cloud Computing
Underutilized
underutilization Hardware
is occurring
and Software Resources. Hardware
due to (1) the increased performance and computing capacity,
(b)
resources. Computers today are so powerful that in most
and soa
fraction of their capacity
sporadic use
is of
used by an application or the system. Moreover if we consider the
fect of limited or
structure of an enterprise,
there are a lot of
computers that are partially utilized, while
desktop Poo
cases ot
they cod ha
:
24/7/365 basis. As an example,
been used without interruption on
administrative staff for office automation
a
tasks are only used during work hours, while mostly requrer
main completely unused. Using
the IT infrastructure.
to deploy ofa completely
efficiency
these resources for other purposes
In order to transparently provide
after work
(C) Lack of Space. The continuous need for additional capacity, whether thi.
necesar
quickly. Companies like Google and Microsoft
Compute power, makes data centers grow
infrastructure by building data centers, as large as
football fields, that are able to host
expand her
nodes. Although this is viable for IT giants, in most cases
center to accommodate additional resource capacity. This
enterprises cannot afford
condition along with thousands
building another
hardware
tion led to the diffusion of a technique called server
consolidation13, for which
virtualization underutlizZ
are fundamental.
13 Server consolidation is a
physical sever Servertechnique of aggregating multiple services and
on one differentsenes
derut1hzation. consolidation allows reducing the power applications, originally deployed on hardware.
consumption of a data center and resolving
Virtualization 3.3
ae the .NET framework soon
icky became popular among
became the principal development platform for the
Microsoft world and
alonment at Google were baseddevelopers. In 2006, two of the three "official
on the virtual machine model: Java and languages" used for de
Wards virtualization from a programming Python. This trend of shifting
tochnology was ready to support virtualized language
solutions
perspective demonstrated an important fact: the
without a significant performance overhead. This
naVed the way to another and more radical form of
reguisite for any data center management infrastructurevirtualization that now has become a fundamental
Physical Networking
Host
Physical Hardware Physical Storage
1. Increased Security
The ability to control the execution of a guest in a completely transparent manner opens new possibilities
for delivering a secure, controlled execution environment. The virtual machine represents an emulated
environment in which the guest is executed. All the operations of the guest are generally performed
against the virtual machine, which then translates and applies themn to the host. This level of indirection
allows the virtual machine manager to control and filter the activity of the guest, thus
harmful operations from being performed. Resources exposed by the host can then be preventing some
hidden or simply
protected from the guest. Moreover, sensitive information that is contained in the host
hidden without the need of installingcomplex security policies. Increased security is a can be naturally
dealingwith untrusted code. For example, applets downloaded from the Internet run inrequirement when
a sandboxed ver
sion of the Java Virtual Machine (JVM), which provides them with limited
system resources. Both the JVM and the .NET runtime provide extensive access to the hosting operating
izing the execution environment of applications. Hardware
security policies for custom
virtualization solutions, such as VMware
Desktop, VirtualBox, and Parallels provide the ability to create avirtual computer
hardware on top of which a new operating system can be installed. By default, the with customized virtual
by the virtual computer is completely separate from the one of the file system exposed
fect environment for running applications without affecting other host machine. This becomes the per
users in the environment.
2. Managed Execution
Virtualization of the execution environment does not
features can be implemented. In particular, sharing, only allow increased security but a wider range of
aggregation, emulation, and isolation are the most
relevant.
IIII Virtual
Resources
Physical
Resources
the virtualiza
(c) Emulation. Guests are executed within an environment that is controlled by
for controlling and tuning the environment that
tion layer, which utimately is a program. This allows different environment with respect to the host can be
is exposed to guests. For instance, a complete
requiring specific characteristics that are not present
emulated, thus allowing the execution of guests
the physical host. This feature becomes very useful for testing purposes where a specific guest has
architectures, and the wide range of options is not easily
to be validated against different platforms orhardware virtualization solutions are able to provide virtual
accessible during the development. Again, (SCSI) de
and emulate a particular kind of device such as Small Computer System Interface software,
hardware
having such hardware installed. Old and legacy without
vices for file I0, without the hosting machine emulated hardware
of current systems, can be run on
which does not meet the requirements hardware architecture
of changing their code. This is possible by either emulating the required
Windows 95/98. Another
any need
specific operating system sandbox, such as the MS-DOS mode in arcade games on a
or within a by arcade game emulators allowing playing
example of emulation is represented
normal personal computer.
systems, ap
guests--whether they are operatingexecuted.
Virtualization allows providing The
(d) Isolation. separate environment, in which they
complete
are
plications, or other entities- with a with an abstraction layer, which provides access to the underly
interacting same
guest performs its activity by benefits, for example, it allows multiple guests to run on the host
several separationbetween the
ing resources. Isolation brings
interfering with the other.Secondly, it providesa prevent harmful operations
host without each of them
machine can filter the activity of the guest and
and the guest. The virtual performance
against the host.
another important capability enabled by virtualization is and soft
hardware
Besides these characteristics, present time, given the considerable advances in by finely tun
at guest
tuning. This feature is a reality becomes easier to control the performance of the provides means to
virtualization. It environment. This
Ware supporting virtual
resources exposed through the more easily fulfills the service level agree
properties of the
Ing the Service infrastructure that virtualization solutions
effectively implement aQuality of instance, software implementing hardware machine or to set the
guest. For memory of the host
ment established for the system only a fraction of the Another advantage of managed execu
guest operating
Can expOse to a processor of the virtual
machine.
persisting it, and resuming
Inaximurm frequency of the capturing of the state of the guest, Hypervisor to stop the
it allows easy managers such as Xen
ion is that, sometimes,example, allows virtual machine and to resume
IS execution. This,for virtual image into another machine,
system, to move its virtual machine migration
GeCUtion of aguest operatingtransparent manner. This technique is called their efficiency in serving
completely optimizing
S execution in a important feature in virtualized data centers for
dnd constitutes an
applications demand.
3.6 Mastering Cloud Computing
3. Portability
ways, according to the specific type of
The concept of portability applies in different solution, the guest is packaged into a
sidered. In the case of a hardware virtualization
in most of the cases, can be safely moved and
executed on top of different virtual
machines. vivritrutualalizimatiageon thcon-at.
the file size,
ent computers.
this happens
Virtual
with
images
the
are
same simplicity
generally
with
proprietary
which we can display a
formats that require a specific in for picture image .Except
Virtual dif er-
manager to be executed. In the case of programminglevel
virtualization, as
or the .NET runtime, the binary code representing application components (jars or
implemented by the machiJvMne
run without any recompilation on any implementation of the corresponding virtua machine. can be assemblies),
the application development cycle more flexible and application deployment very This makes
straiwithghtforward:
version of the application, in most of the cases, is able to run on different platforms no One
Finally, portability allows having your own system always with youand ready to use, given thatchanges. th
quired virtual machine manager is available. This requirement is in general less stringent tthan having al
the applications and services you need available anywhere you go.
How it is done?
Technique Virtualization Model
Emulation Application
Execution
Process Level
Environment High-Level VM Programming
Language
Storage
Virtualization Multiprogramming Operating
System
Network
Hardware-assisted
Virtualization
Full Virtualization
System Level
Hardware
Paravirtualization
Partial Virtualization
Fig. 3.3. Taxonamy of Virtualizatian Techniques.
The first classification
is mainly used to discriminates against the service or entity that is being
emulate execution environments, storage, and
execution virtualization constitutes emulated. Virtualizatio
deserves a major the oldest, most networks. Among these categoie
popular, and most developed area.
tion virtualization investigation and a further
categorization.
techniques into two major categories, In Thererore
by particular,thewe can divide these exe
considering type of host they requ
Process level
Ethe techniques
hardware. Systemn
are
levelimplemented on top of an Virtualization 3.7
require a minimum
support techniques are implemented existing operating system, , which has full control
from-an
different techniques, which offer to existing operating system.directly on hardware and do not
bordware, operating system the guest a
different type
Within these two
of virtual categories requireor
we can list
resOurces, low-level programming language,Computation
and environment: bare
3.3.1 Execution Virtualization application libraries.
Execution virtualization
hat is separate includes all
from the one hostingthose techniques whose aim is to emulate an execution environment
ast onproviding support for the virtualization layer. Allthese techniques
the execution of concentrate theira inter
enecification of a program compiled againstprograms,
an
whether these are the operating system, binary
abstract machine model, or an application.
execution virtualization can be
implemented
application, or libraries dynamicaly directly on top of the Therefore,
or statically linked against an hardware, by the operating system., an
application image.
1, Machine Reference Model
Virtualizing an execution environment at
model that defines the interfaces between different levels of the computing stack
the levels of abstractions, which hide requires reference
a
From this perspective, virtualization techniques actually replace one of the implementation details.
that are directed towards it. Therefore, a clear separation layers and intercept the calls
between layers simplifies their implementation,
which only requires the emulationof the interfaces and a proper interaction with the underlying layer.
Applications Applications
APIcalls
API
Libraries Libraries
User
ABI System calls ISA
User
dodohipes. Operative System Do ISA
Operative System
at ISA
ISA
Hardware
Hardware
Ring 3
Privileged modes
Ring 2
Ring 1
Ring 0
2. Hardware-Level Virtualization
Hardware-level virtualization is avirtualization technique that provides an abstract execution environ
ment in terms of computer hardware, on top of which a guest operating system can be run. In this
model, the guest is represented by the operating system, the host by the physical computer hardware,
the virtual machine by its emulation, and virtual machine manager by the hypervisor. The hypervisor
is generally aprogram, or a combination of software and hardware, that allows the abstraction of the
underlyingphysical hardware.
Guest
In memory
representation
Virtual Image
Storage
Virtual Machine
binary translation
instruction mapping
interpretation
Host
VM VM VM VM
ISA
ISA
ABI
ISA
ISA
Hardware
Hardware
Conceptually, a virtual machine manager internally organized as described in Fig. 3.8. Three main
modules coordinate their activity in order to emulate the underlying hardware: dispatcher, allocator,
instructions
and interpreter. The dispatcher constitutes the entry point of the monitor and reroutes the
issued by the virtual machine instance to one of the two other modules. The allocator is responsible for
deciding the system resources to be provided to the VM: whenever a virtual machine tries to execute
an instruction that results in changing the machine resources associated with that VM, the allocator is
invoked by the dispatcher. The interpreter module consists of interpreter routines. These are executed
whenever a virtual machine executes a privileged instruction: a trap is triggered and the corresponding
routine is executed.
The design and architecture of avirtual machine manager, together with the underlying hardware design
of the host machine, determine the full realization of hardware virtualization, where a guest operating
system can be transparently executed on top of a VMM as if it was run on the underlying hardware.
The criteria that need to be met by a virtual machine manager to efficiently support virtualization were
established by Goldberg and Popek in 1974 (23]. Three properties have to be satisfied:
Equivalence: a guest running under the control of a virtual machine manager should exhibit the
same behavior as when executed directly on the physical host.
ust
Virtualization 3.1
cource ConTrOI. The virtual machine manager should be in complete control of virtualized
resources.
Efficiency. Astatistically dominant fraction of the machine instructions should be executed without
intervention from the virtual machine manager.
The maior factor that determines whether these properties are satisfied is represented by the layout of
Ao ISA Of the host running a virtual machine manager. Popek and Goldberg provided a classification of
instruction, set, and proposed three theorems that define the properties that hardware instructions
dtosatisfy in order to efficiently support virtualization.
ISA
Instructions (1SA)
Interpreter
Dispatcher
Routines
Allocator
Reference Architecture.
Fig. 3.8. Hypervisor
computer, a VMM may be constructed ifthe
conventional third-generation privileged instructions. resourc
Theorem 1: For any that computer is a subset of the set of of the system
sensitive instructions for instructions that change the configuration machine manager.
set of establishes that all the the virtual
This theorem be executed under the control of would reveal the presence of
mode and instructions that
from the user those performance
es should trap efficiently control only instructions without considerable
This allows
hypervisors to
all the rest of the is in the most
the hypervisorintervention
executing property when of
layer while resource control without the
an abstraction always guarantees the must be executed same in both
loss. The theorem The non-privileged instructions the output of the code is the
Privileged mode (Ring
0). good since
equivalence property also holds
hypervisor. The changed.
cases because the
code is not
computer is recursively virtualizable if:
third-generation
Aconventional
Theorem 2:
for it.
and be constructed another virtual ma
itis virtualizable,any timing dependencies can manager on top of can
aVMM without running a virtual machine the underlying resources
ability of capacity of
virtualization is the hypervisors as long as the recursive virtualization.
necursiVe nesting
This allows aprerequisite to
Cnine manager.that. Virtualizable hardware is
accommodate
312 Mastering (oud Computiny
Privileged Instructions
Sensitive Instructions
User Instructions
Fig. 3.9. Virtualizable Computer (left) and Non Virtualizable Computer (right).
Theorem 3: Ahybrid VMM may be
constructed for any conventional third generation machine, in
which the set of user sensitive instructions are a
There is another term called Hybrid Virtual subset of the set of privileged instructions.
machine system. In case of HVM, more instructions Machine (HVM), which is less efficient than the virtual
are interpreted rather than
All instructions in virtual
supervisor mode are interpreted. Whenever there is an being executed directly.
havior sensitive or control sensitive attempt to execute a be
via atrap. Here, all sensitive instruction, HVM controls the execution directly
instructions are caught by HVM that are simulated. or gains the control
This reference model represents what we
ecute a guest operating system in completegenerally consider classic virtualization, ie., the ability to exX
isolation.
includes several strategies that differentiate from each To a greater extent, hardware-level virtualization
the underlying hardware, what is actually other on- which kind of support is
abstracted from the expected from
host, and whether the guest should be
modified or not.
3. Hardware
(a)
Virtualization Techniques
Hardware-assisted Virtualization.
hardware provides architectural support This term refers to a scenario in which the
for building a virtual machine
erating system in complete isolation. This technique was manager able to run a guest op
At present, examples of originally introduced in the IBM System/370.
hardware-assisted virtualization
ture introduced with Intel VT (formerly known as are the extensions to the x86-64 bit architec
Vanderpoo) AMD V(formerly known as Pacifica).
These extensions,which differ between the two vendors, and
are meant to reduce the performance penalties
experienced by emulating x86 hardware with hypervisors. Before
virtualization software emulation of x86 hardware was significantlythecostlyintroduction of hardware-assisted
from the performance point of
view. Thereáson for this is that, by design, the x86
architecture
troduced by Popek and Goldberg, and early products were using binary
did not meet the formal requirements in
sensitive instruction and provide an emulated version. Products such astranslation in order to trap some
VMware Virtual Platform, intro
duced in 1999 by VMware who pioneered the field of x86
virtualization,
After 2006, Antel and AMD introduced processor extensions and a wide range were based on this technique.
of virtualization solutions
took advantage of them: Kernel-based Virtual Machine (KVM), VirtualBox, Xen, VMware, Hyper-V, Sun
xVM, Parallels, and others.)
(b) Fuli Virtualization.
ar nperating system, on top of a Full virtualizationreters to the
on the raw hardware In order to virtual machine directty and ablity of nurnng a prograr
acomplete emulation of the entiremake this pussible. virtual without ary mogfcation as twere run
mostkey
complete isolation, wnicn leads to underlying hardware Thermachine princpal managers
advanta0e
are reguired to provide
cOexistence of dMerent
5ystems on
enhanced
the
security. ease of enulation of gferentof ful virtualzation is
sion solutions, it poses
important
same platforn Whereas t is a
concerns desired goal archtectures
for mary
and
ienne the interCepion of
is on performanCe and technical imolementation Avrtualiza
of the resources privileged instructions
by the host, they have tosuch as /O instructions since they change the
Key cha
exposed
cimple solution toachieve fuli be contained within the stae
onsingsome limíts to the virtualization is to provide a virtual machine manager A
performance. Asuccessful and vitual environment for all the instruct0ns us
cbtained with a combination of hardware and efficient
executed directly on the host. This is what is software allowing notimplernentation
of full
vituazation s
potentially harmfu instructions
accomplished througth to be
(c) Paravirtualization. This is a not hardware-assisted virtualization
ingthin virtual machine
managers. transparent virtuaiization solution that alows implement
fual machine that is slightly Paravirtualization technigues expose a software interface to the vir
modified from the host and, as a
Theaim of
paravirtualization is to provide the capability to consequence. quests need to be modithed
0peration directly on the host, thus preventing demand the execution of perfomance critical
ir managed execution. This allows a performance losses that would otherwise be experienced
simplytransfer the execution ofthesesimpler implementation of vírtual machine managers that have to
operations, which were hard to virtualize. directly tothe host in
order to take advantage of such opportunity,
ported by guest operating systems need to be modified and
remapping the performance critical explicitly
This is possible when the source Code of the operations through the virtual machine software interface
operating system is available, and this is the reason why
paravirtualization was mostly explored in the open source and
technique was initially applied in the IBM VM operating system academic environment. Whereas this
families, the term paravirtualization
was introduced in literature in the Denali[24] project at the
has beern successfully used by Xen for providing University of Washington. This technique
virtualization
tems specifically ported to run on Xen hypervisors. Operating solutions for Linux-based operating sys
systems that cannot be ported, can still
take advantage of paravirtualization by using ad-hoc device drivers that remap the
instructions to the paravirtualization APis exposed by the hypevisor. This solution execution of critical
is provided by Xen
for running Windows-based operating systems on x86 architectures. Other
solutions using paravirtual
ization include: VMWare, Parallels, and some solutions for embedded and real-time
as TRANGO, Wind River, and XtratuM.
envircnmert such
(d) Partial Virtualization. Partial virtualization provides a pariai eiriulaticn of the underlying
hardware, thus not allowingthe complte execution of the guest operating system in complete isolation.
Partial virtualization allows many applicationsto run transparently but not all the features of the operat
ing system can be supported as heppens with full virtualization. An example of patial virtualization is
address space virtualization used in time-sharing systems: this allows multip!le appiications and users
to run concurrently in a separate emory space, but they still share the same hardware resources
(disk, proces sor, and network). Historically, partial virtualizatioin has been an important milestone for
achieving fullvirtualization, and it was implemented on the experinnenta! /B:M M44144X. Address space
virtualization is a common feature of contemporary operating systems.
the Java plaform and the .NET framework represent the most popular technologies for enterprise ap
plication development.
Both Java and the CLI are stack-based virtual machines: the reference model of the abstract archi
tecture is based on an execution stack that is used to perform operations. The byte code generated by
compilers for these architectures contains aset of instructions that load operand on the stack, pertorm
some operations with them, and put the result on the stack. Additionally, specific instructions for invok
ing methods, and managing object and classes are included. Stack based virtual machines possess the
easily por
property of being easily interpreted andexecuted simply by lexical analysis, and hence to bemachines, in
table over different architectures. An alternative solution is offered by register-based virtual
closer to the underlying
which the reference model is based on registers. This kind of virtual machine is
Parrot-a programming
architecture we use today. An example of register-based virtual machine is
of PERL, and then generalized to host
level virtual machine, originally designed to support the execution
the execution of dynamic languages.
machines, also called process virtual machines, is
The main advantage of programming-level virtual
across different a platforms. Programs compiled
the ability of providing a uniform execution environment machine
operating system, and a platform, for which a virtual
into byte code can be executed on any this simpli
a development life cycle point of view,
able to execute that code, has been provided. From versions of the
the development and deployment efforts since it is not necessary to provide different
fies is
The implementation of the virtual machine for different platforms is stilla costly task but it
same code. more control over
Moreover, process virtual machines allow for
done once and not for any application. memory. Security is another
execution of programs since they do not provide direct access to the process virtual
the
managed programming languages; by filtering the /O operations, the .NET provide
advantage point of both Java and
machine can easily support sandboxingpolicies of applications. As an example, frameworks. All these advan
pluggable security and code access security
an infrastructure for expose an
prize: performance. Virtual machine programming languages generally This performance
tages come with a languages compiled against the real
architecture.
inferior performance, if compared to high compute power available on average processors makes it
difference is getting smaller, and the
even less important.
called high-level virtual machines, since high-level program
Implementations of this model are also dynamically translated
compiled to a conceptual ISA, which is further interpreted or
ming languages are instruction of the hosting platform.
against the specific
3. Desktop Virtualization
Desktop virtualization abstracts the desktop environment available on a personal computer in orde
provide access to it by using a client-server approach. Desktop virtualization provides the same outco
of hardware virtualization but serves a different purp0se. Similarly to
hardware virtualization, it man
accessible a different system, as if it was natively installed n the host, but this system is remoley
in sandboxed isolationtransparently
computing reducing
withsharing.
environ resources stopping
of control the
serhighof service
of on vironmerts
feature, in Infrastructure
techadopted leveraged de
side. movement
While
virtualization high ac iS thevirtual
environment, theremotely
virtualization soluCitrix
Remote
form degree
services of interfering moving
3,17 environrment in same virtualization opportunity
vendor
a
provide to
the disCUSs (VDI),
cornputing a
complimentary controllable
suchallows are temporarily
provides connects
everywhere. providing
of
particular techniques allows of instances
for Windows quality appropriate and large and
Virtualzation leverages the IT en technology the performedof number the
desktop desktop
to
fundarnental
desktop
will
services Intrastructure provide COMPUTING computing
delivering the customizable
a
also
on the
themevidence
itbecausewhile control
whichdata. desktopclient Cloud anda better execution
in featuring
virtualization
accountability
as: solutions gives and without smaller by
machine
from
the user
we
of basic such
is
thatstrategies the the consolidation,
finer
either
Moreover, a center a As on Thisa a
configurable a is isolated underutilized,
access
accessible of
when
specificthe advantages basedDesktop servers
providing for for is cases,
are is companies
virtualization alsowhich no
resource
is
persistence
management.
The components server. fundamental
allows and virtualization
for a be a virtual impact:
aperforming
data which
demand factor
offering virtualization
Moreover,consolidation,
creatingwill over
remotelyvirtualization
connection, technology.
virtuali1zation balancing the environment their
a systems. there
a
environment
or
server:in
The
Virtual application
application CLOUD
virtualizatiorn: it
since offer enabling same machines As minimum
server
scenario of of for and migration.
most enough,
are
to
server
the on
of
startedcomputer.
software Virtualization are language language
capability
opportunity
workloads.
services
allows by
same Parallels load to computing
computing, demand, the resources as or
in computing knownawithresources,
abilityandhardware ease that
retwork
remote
this
computing desktop of the used an of virtualization
with virtual
using storage
collection AND and,
manageability means capable
desktop accessibility theand andof in is programming environments machine
the his useimplemented (VDI), in
hosted popular programming
primarily virtualization
the
business of on aggregating
also
applied
a on virtual cases, hugeleasing when
thrOugh to a
in
refers
supporting
loaded accessibility,
hosted on the
for
Infrastructures
by VIRTUALIZATION
of environment. Cloud virtual computation
by
are
new
same stored Cloud
tasks Infrastructure server
a purpose process systems is
attractive virtual
be the
the prevent abstracts
services arelessbuilding bothattractive Since resources practice
is in and the can
accessed
the strictly
is ensures environments
thattypical
daily are ation-Server application role technologies
is
of
roleandHardware
while simplifying these by called to
consolidation
infrastructure virtualization users.
and forcomputing particularly
same isolation, In resources data
makingenvironment
thehardware
image persistence,
environment important when offerings.
the can the
virtualization different segment, This
virtualization" a
issues
Desktop
Server. enabler serve
an sustain service
underlying is its
and and is performing for the
infrastructure
availability is
needed systems. instances
utilized. moving
of machine
This virtualserves security, important
constituted
thus
Platform-as-a-Service
host infrastructure,
desktop others. Virtualization
Network these,market to an efficient to environments,
problem
possible active
an a
emulating an
desktop environment.
availability,X Virtual
security computing
different
"desktop
scenario,
desktop
and
Applic Application-server
single and
plays naturally computing ablecontrol, being theis fully and
opportunity machine
virtual
multiple for
and customization, Among
Particularly
the the VNC, V Virtualization as-a-Service infrastructure
environment more If ofnumber
other. become
execution
chapter, Sun
infrastructurea XenDesktop virtualization storage. Besides
finer is
a than
a
on addresses availability
nenerally, a accessing
Services, 34 demand. is Cloud
signing it
which niques.
term this in desktop high are: as ments, Virtual
to Cloud a each lable
etored In cessstored 4.
tions vices rather and and Thisthethat
the are:next to Its
interruption
solidation.
during them
mand, ture countability tieseasily
infrastructure
complementary
services--on
17 mainframe Server
tion
It of Finally, Storage instance.
instance 3.8
server In is to even complex
important
most the partitionable
secure
applications. consolidation
ofprovider, Cloud of virtualization though VM VM Computloiudng
the era. VM VM
towhileMastering
to demand, such andfeaturing implemnent
cases,notice The to it it
In
computing protect into the (running)Server A VM VM (running)Server A is
and service. is VM
this this that ability technically and running.
opens slices. execution
huge
SCenario, isaccessed constitutes but
because Cloud the virtual VM VM
to VM
computing threvamps
e storage Manager
Machine
Virtual | more This
recreate hostingThese Manager
Machine
Virtual
It machine Fig.
applications is by virtualization.possible Migration
After Migration
Before
path 3.10. efficient
second
evident an
is ato slices
facilities,
thin infrastructure
the the interesting
thatstrongly also
migration Live since
having techniques
have client concept entire can
live Migration
leveraged to
can in there
be Even case
migration over opportunity
process harness
Computinga ofdynamic
complete are are and is is
in of no
for adesktop thisprincipally Server VM known
increased
offers the
capable available programming
andthesecase, Consolidetion. (running)Server B Server B
(running) disruption
evelopment a virtual given as
stack-from VM
better virtualization, offered
workloads lnternet facilities live
olution
asvendors by used of
computer wellvirtualization the
migration,
of as
language in
pplications or
connection. into activity
sinceserve as backed a case
infrastructure service.
it hostedinitiallymethods virtual a and
doesmnore virtualization. of machine, the of
hardware the in
need
that technologies, by
not general,
equests, introduceinl on Again, virtual
forstoragelarge
Create the to
to an 0s
compuuy virtualiza
any which Scale edsy oppO more
inappl
frastircucation sevi
on Oe
serc makes de
Virtualization 3.19
3.5 PROS AND CONS OF
Virtualization has now become extremely
VIRTUALIZATION
The primary reason of its wide success popular and is largely used, especially in Cloud
is the elimination of
technology barriers computing
the past. The most relevant barrier has that made virtualization
not an effective and viable solution in
the capillary dffusion of the Internet been performance. Today,
have made virtualization an interesting connection and the advancement in the computing technology.
opportunity to deliver on demand IT
Despite its renewed popularity, this technology has benefits and also infrastructure and services.
drawbacks.
1. Advantages of Virtualization
Managed execution and isolation are perhaps the most important advantages of virtualization. In the
case of techniques supporting the creation of virtualized execution environment, these two character
istics allow building secure and controllable computing environments. Avirtual execution environment
can be configured as a sandbox, thus preventing any harmful operation to cross the borders of the
virtual host. Moreover, allocation of resources and their partitioning among different guests is simpll
fied, being the virtual host controlled by a program. This enables fine tuning of resources, which is very
important in a server consolidation scenario, and that is also a requirement for an efective quality of
service.
Portability is another advantage of virtualization, especially for execution virtualization techniques.
Virtual machine instances are normally represented by one or more files that can be easily transported
with respect to physical systems. Moreover, they also tend to be self-contained since they do not have
other dependencies besides the virtual machine manager for their use. Portability and self-containment
simplify their administration. Java programs are "compiled once and run everywhere"-they only requireIt
hardware-level virtualization.
the Java virtual machine to be installed on the host. The same applies to
virtual machine instance, and bring
is, in fact, possible to build our own operating environment within a for migration
This concept is also an enabler
it with us wherever we go, as if we had our own laptop.
techniques in aserver consolidation scenario.
the costs for maintenance, since the num
Portability and self-containment also contribute to reduce the guest
of hosts is expected to be lower than the number of virtual machine instances. Beingcomponent
ber part of the virtual instance itself, there is no
executed in a virtual environment,which is often Moreover, it is expected to have fewer virtual machine
over time.
that is subject to change or damage managed.
of virtual machine instances
managers with respect to the number possible to achieve amore efficient use of
resources. Multiple
is
Finally, by means of virtualization, it
the resources of the underlying host, without interfering with
share number of active
systems can securely coexist and consolidation, which allows adjusting the
for server opportu
each other. This is a prerequisiteaccording to the current load of the system, thus creating the
physical resources dynamically,consumption, and have less impact on the environment.
energy
nity to save in terms of
the Coin: Disadvantages
Side of
2. The Other downsides. The most evident is represented decrease of guest
by a performance suboptimal use of
Virtualization has also virtualization layer. Also,
the
result of the intermediation performed by virtualization management software can lead to
Systems,as a layer introduced by experience. Less evident. but perhaps more
of the abstraction different
the host, becauseutilization of the host or a degraded user due to the ability of emulating a
avery inefficient which are mostly
are the implications on security,
dangerOus,
execution environment. major concerns
definitely one of thelayer
Performance is abstraction between the
Degradation. interposes an
(a) Performance technology. Since virtualization experienced by the guest.
Wnen using
virtualization
latencies and delays can be
increased
guest and the host.
Mastering Cloud Computing intermediate
3.20
case of hardware
virtualization, where the performance emulates abare
For instance,in
entire system can be installed, the causes of
following activities:
can be degradation machinety
of which an introduced by the
overhead
by the virtual processor Th
Maintaining the status of
(trap and simulate
privileged| instructiorns)
instructions not
Support of privileged VM be
levelvirtual machines, some of the features of the underlying operating systems may becomeina:
sible, unless specific libraries are used. For example, in the first version of Java, the support for gr.
programming was very limited, and the look and feel of applications was very poor, if compared to re W
applications. These issues have been resolved by providing a new framework for designing the
interface- Swing, -and further improvements have been done by integrating support for the O*s X
libraries into the Software Development Kit. C
(c) Security Holes and New Threats. Vitualization opens the door to a new
pected form of phishingl, The capability of emulating a host in acomplete transparent mal
the way to malicious programs which are designed to extract sensitive information from ey
In the case of hardware virtualization, malicious programs can preload themselves beforethe
erating system, and act as athin virtual machine manager towards it. The operating Systemis
controlled, and can be manipulated in order to extract sensitive information of interest forthirdpa
Examples of these kind of malware are BluePill and SubVirt. BluePill is a malware targetingthe re
processor family and moves the execution of the instaled OS within a virtual machine. Theorigita
sion of SubVirt was developed as a prototype by Microsoft through collaboration with MichiganU k
sity. SubVirt infects the guest OS Controlofthe
and when the virtual fo
machine rebooted, it gains
is
18 Phishing is a
term
Words, by recreating an that identifies a malicious practice aimed at
names
an'
most commonly used in environment identical in functionalities and capturing sensitive information, suchthis
the Web, where
as information.
user Prs
toa appearance
the Originalonear"
purpose is to data. the user is to the one that manages
her confidentialcollect information to impersonate redirected
the user againstmalicious Website
the original
that is a replica of the
abank Website)
and
aces
Website (e.9-,