5CS022 Lecture 7 Virtualisation
5CS022 Lecture 7 Virtualisation
Systems Programming
Lecture 7 Virtualization
Objectives
• Describing virtualization
• Understanding the importance of
virtualization
• Understanding virtualization technologies
What Is Virtualization?
• Virtualization in computing often refers to the
abstraction of some physical component into a
logical object.
• Virtualization is a way to abstract applications and
their underlying components away from the
hardware supporting them and present a logical or
virtual view of these resources.
• Virtualization can create the artificial view that many
computing resources are a single resource or that a
single resource is really many individual resources.
A basic virtual machine monitor
(VMM) or Hypervisor
Hardware and
software
technology that
allows nearly any
device to access
any application
without either The application sees a device
having to know too it’s used to working with. The
much about the device sees an application it
other. knows how to display.
Application Virtualization
• A hypervisor must:
– Provide an environment identical to the physical
environment.
– Provide that environment with minimal
performance cost.
– Retain complete control of the system resources.
Hypervisors Classes
A hypervisor will
schedule work on behalf
of a virtual machine on
any available physical
CPU
Adding more CPUS and
more cores to each CPU
adds more available
processing resources for
the virtual machines to
utilize.
Containers
• A container provides operating-system-level
virtualization by abstracting the “user space”
• They have private space for processing, can
execute commands as root, have a private
network interface and IP address, allow
custom routes and firewall rules, can mount
file systems, and etc.
• The one big difference between containers
and VMs is that containers share the host
system’s kernel with other containers.
VM vs Containers
VM vs Emulators
• Virtualization makes
physical hardware
appear have to
multiple copies of
itself
• Emulation creates entirely new, different hardware,
virtually and separately from the actual hardware.
• Emulators can pretend to be any type of CPU or
hardware
• Downside is that it is usually slower than
virtualization.
Memory Virtualization
10.10.10.1
Virtual IP (VIP)
192.121.10.1
10.10.10.2
10.10.10.3
Load Balancing in Virtual
Environments
A Web Application Example
The virtualization host now needs to be
configured with enough CPU and
memory for the entire application
The resource parameters—shares,
Three-tier limits, and reservations, used to refine
architecture— the resource sharing
physical
As the application performance
requirements change, the model can
easily adjust.
Virtual appliances - prebuilt VMs that
already contain everything needed to
deploy an application
Three-tier architecture—virtual
Questions?