10 Virtualization
10 Virtualization
DP@AOT
Need For Virtualization
Increased performance and computing capacity: Average end-user
desktop PC is powerful enough to meet almost all the needs of everyday
computing, with extra capacity that is rarely used.
Greening initiatives
DP@AOT
Characteristics of Virtualization
1. Increased security:
All the operations of the guest are generally performed against the
virtual machine, which then translates and applies them to the
host., which allows the virtual machine manager to control and
filter the activity of the guest, thus preventing some harmful
operations from being performed.
DP@AOT
Characteristics of Virtualization
2. Managed execution:
Sharing: Virtualization allows the creation of a separate
computing environments within the same host.
DP@AOT
Characteristics of Virtualization
DP@AOT
Characteristics of Virtualization
3. Performance tuning: Easier to control the performance of the guest
by finely tuning the properties of the resources exposed through the
virtual environment.
DP@AOT
Machine Reference Model
DP@AOT
Machine Reference Model
Virtualization techniques actually replace one of the layers and
intercept the calls that are directed towards it.
ISA defines instruction set for the processor, registers, memory and
interrupt management.
ABI covers the details such as low level data types, alignment, and
call conventions and defines a format for executable programs.
DP@AOT
Hypervisors
The hypervisor is generally a program or a combination of software
and hardware that allows the abstraction of the underlying physical
hardware.
Three criteria's established by Goldberg and Popek in 1974.
Equivalence: A guest running under the control of a virtual machine
manager should exhibit the same behavior as when it is executed
directly on the physical host.
DP@AOT
Hypervisors
DP@AOT
Hypervisor Reference Architecture
DP@AOT
Hypervisor Reference Architecture
Dispatcher constitutes the entry point of the VMM and reroutes the
instructions issued by the virtual machine instance to other
modules.
DP@AOT
Hardware Virtualization
DP@AOT
Hardware Virtualization
Full virtualization:
DP@AOT
Hardware Virtualization
Full virtualization:
DP@AOT
Hardware Virtualization
Paravirtualization:
Enables the execution of performance-critical operations directly
on the host, thus preventing performance losses that would
otherwise be experienced in managed execution.
DP@AOT
Operating system-level virtualization
DP@AOT
Operating system-level virtualization
A user space instance in general contains a proper view of the file
system, which is completely isolated, and separate IP addresses,
software configurations, and access to devices.
DP@AOT
Programming language level virtualization
DP@AOT
Programming language level virtualization
The JVM was originally designed for the execution of programs
written in the Java language, but other languages such as Python,
Pascal, Groovy, and Ruby were made available.
Both Java and the CLI are stack-based virtual machines: The
reference model of the abstract architecture is based on an
execution stack that is used to perform operations.
DP@AOT
Programming language level virtualization
The byte code generated by compilers for these architectures
contains a set of instructions that load operands on the stack,
perform some operations with them, and put the result on the
stack.
DP@AOT
Programming language level virtualization
DP@AOT
Programming Language Virtualization: CLI
DP@AOT
Application level virtualization
Application-level virtualization is a technique allowing applications
to be run in runtime environments that do not natively support all
the features required by such applications.
DP@AOT
Application level virtualization
Example: Wine, which is a software application allowing Unix like
OS to execute programs written for the Microsoft Windows
platform.
DP@AOT
VMware vSphere
DP@AOT
VMware vSphere
VMware vCompute: A service that aggregates servers into an
assignable pool
DP@AOT
VMware vSphere
DP@AOT
Machine Imaging
• Provides system portability, instantiate applications, and provision
and deploy systems in the cloud and Stores the state of a systems
using a system image
• The system imaging program is used to make this image and can be
used later to restore a system image.
DP@AOT
Machine Imaging
• AMI is a file system image that contains an operating system, all
appropriate device drivers, and any applications and state
information that the working virtual machine would have.
DP@AOT
Machine Imaging
• Files in AMI are compressed and encrypted, and an XML file is
written that describes the AMI archive. AMIs are typically stored in
your Amazon S3 buckets as a set of 10MB chunks.
DP@AOT
Machine Imaging
• The term virtual appliance is meant to differentiate the software
image from an operating virtual machine.
• Most virtual appliances are used to run a single application and are
configurable from a Web page. Virtual appliances are a relatively
new paradigm for application deployment.
DP@AOT
AMI Lifecycle
DP@AOT
OVF
The Specification describes an open, secure, portable, efficient and
extensible format for the packaging and distribution of Virtual
Appliances to be run in virtual machines.
DP@AOT
OVF
• Vendor and platform independent : OVF does not rely on the use
of a specific host platform, virtualization platform, or guest
operating system.
DP@AOT
OVF
• Open standard : OVF has arisen from the collaboration of key
vendors in the industry, and it is developed in an accepted industry
forum as a future standard for portable virtual machines.
DP@AOT