0% found this document useful (0 votes)
6 views43 pages

5CS022 Lecture 7 Virtualisation

The document covers the concept of virtualization in computing, explaining its significance, technologies, and various types such as server, application, and network virtualization. It outlines the properties and goals of virtualization, the role of hypervisors, and the differences between virtual machines and containers. Additionally, it discusses management, security, and resource allocation in virtual environments, emphasizing the evolution and benefits of virtualization technology.

Uploaded by

Isuru Amarasena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views43 pages

5CS022 Lecture 7 Virtualisation

The document covers the concept of virtualization in computing, explaining its significance, technologies, and various types such as server, application, and network virtualization. It outlines the properties and goals of virtualization, the role of hypervisors, and the differences between virtual machines and containers. Additionally, it discusses management, security, and resource allocation in virtual environments, emphasizing the evolution and benefits of virtualization technology.

Uploaded by

Isuru Amarasena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

5CS022 Distributed and Cloud

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

By their definition, a virtual machine (VM) can virtualize all


of the hardware resources, including processors, memory,
storage, and network connectivity
VMM Properties
A VMM needs to exhibit three properties in order to
correctly satisfy their definition:
• Fidelity
– The environment it creates for the VM is essentially identical
to the original (hardware) physical machine.
• Isolation or Safety
– The VMM must have complete control of the system
resources.
• Performance
– There should be little or no difference in performance
between the VM and a physical equivalent.
Goals of Virtualization
Organisations are often seeking different things when using
virtualization technology. Some examples:
• Allowing any network-enabled device to access any network-
accessible application
• Isolation of one workload or application from another to enhance
security or manageability of the environment
• Isolation of an application from the OS, allowing an application to
function on a foreign OS even though it was designed for a different
version of OS
• Increasing the number of people that an application can support, by
allowing multiple instances to run on different machines
simultaneously
Goals of Virtualization
• Decreasing the time it takes for an application to run, by segmenting
either the data or the application itself and spreading the work over
many systems
• Optimizing the use of a single system, allowing it to work harder and
more intelligently (that is, reducing the amount of time the processor
sits idle)
• Increasing the reliability or availability of an application or workload
through redundancy
• The organization’s choice of virtualization technology is dependent
upon what it’s trying to accomplish.
The evolution of virtualization
• Server virtualization has existed for several decades
• IBM pioneered more than 30 years ago with the
capability to “multitask”
• The inception was in specialized, proprietary, high-
end server and mainframe systems
• By 1980/90 servers virtualization adoption initiated a
reduction
• Inexpensive x86 hardware platforms
• Windows/Linux adopted as server OSs
The Evolution of Virtualization
• There was a explosion of data centres overfilled
with servers
• In a combination of the effect of Moore's Law and
the “one server, one application” model, those
servers did less and less work
• Virtualization made it possible to condense multiple
physical servers into fewer servers that would run
many virtual machines,
– Allowed those physical servers to run at a much higher
rate of utilization.
– This condensing of servers is called consolidation
Layers of Virtualization

Kusnetzky Group model of


virtualization
Access Virtualization

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

• Software technology allowing


applications to run on many
different operating systems
and hardware platforms.
• This usually means that the
application has been written to
use an application
framework.
• Provides application isolation,
OS independence, availability,
performance and scalability,
cost reduction and optimization
Processing Virtualization
• Hides physical hardware configuration from system services,
operating systems, or applications.
• This type of virtualization technology
can make one system appear to be
many or many systems appear to be
a single computing resource, to
achieve goals ranging from raw
performance, high levels of
scalability, reliability/availability,
agility, or consolidation of multiple
environments into a single system.
Network Virtualization
• Presents a view of the network
that differs from the physical
view.
• A personal computer, for
example, may be allowed to
“see” only systems it is allowed
to access.
• Another common use is making
multiple network links appear to
be a single link. This approach
makes it possible for the link to
present higher levels of
performance and reliability.
• Provides improved network
reliability, performance and
security
Storage Virtualization
• Hides where storage
systems are and what type
of device is actually storing
applications and
data.
• Allows many systems to
share the same storage
devices without knowing
that others are also
accessing them.
• Examples: Storage Area
Network (SAN), Network
Attached Storage (NAS)

High availability/fail over/disaster recovery


Improve storage performance
Making the same storage resource serve everyone
Security for virtual environments
• Control access to various elements in a virtual environment and
prevent unauthorized or malicious use.
• It is best if security for virtualized environments is part of the
architecture (that is, part of the plan, rather than added on
later).
• As systems become increasingly complex, they expose more
interfaces to the network and, thus, to potential attackers.
• Approaches
– Require a small piece of software, often called an agent, to be
added to each virtual resource
– capture the stream of network communication going from server to
server, from application to application, from storage device to
server, and funnel it through a separate security appliance
Management for Virtual
Environments
• Tools necessary to install virtual environments and to watch,
analyse, control, automate, and optimize what they are doing
• Virtualized client resources
– Creation of client-side virtual machine images and setting the
proper parameters (virtual memory, number of virtual processors,
virtual storage size, etc.)
– Installation of operating systems, setting up the proper
parameters, and installing updates
– Setting user personalization (desktop images, preferred
desktop icons, etc.)
– Configuring user data
– Installation of applications, moving necessary data, and
adjusting application configuration settings
Management for Virtual
Environments
• Virtualized server resources
– Creation of server-side virtual machine images and setting proper parameters
– Installation of operating systems, setting up proper parameters, and installing updates
– Installation of applications, moving necessary data, and adjusting application
configuration settings
– Workload management; that is, sending user requests to one of a number of systems
depending upon which system has the most available capacity
– Automation of virtual environment workloads; that is, staging applications so that they
don’t start until the necessary data is available or dealing with an application failure
– Managing policies that guide the functioning of the virtual environment; that is, telling the
system the requirements of each job, when jobs can run, who is allowed to use them,
where they are allowed to run, and performance requirements
– Orchestration of server workloads; that is, moving tasks from system to system as
required to meet service-level objectives or handle failures
Using Virtualization

• Virtualization technology with is often confused


with specific use cases or instances of use of
virtualization technology
– For example, when virtual machine technology is
used, media reports might discuss that as either
server virtualization or desktop virtualization.
– The use of application virtualization, processing
virtualization, or storage virtualization might be
discussed as “clustering.”
Desktop Virtualization
• When “desktop virtualization” is
used to describe making it
possible for people to access a
physical or virtual system
remotely, access virtualization
technology is used to capture
the user interface portion of an
application. It is then converted
to a neutral format and projected
across the network to a device
that can display the user
interface and allow the user to
enter and access information
• This means that just about
any type of network-enabled
device could be used to access
the application.

Desktop virtualization via access virtualization


Application Virtualization
• “Application virtualization” is used to describe encapsulating an
application using client-side application virtualization technology
and then projecting it in whole or piecemeal to a remote system
for execution, the application could either remain on that client
device or be deleted once the user completes the task,
depending on the settings used by the IT administrator
• This means, of course, that the client system has to run the
operating system needed by the application.
Server Virtualization
• Server virtualization is the use of either virtual machine technology
or operating system virtualization and partitioning technology to make
a single physical server support multiple independent workloads
Virtual Machines
• Like an actual server, a VM supports an OS and is
configured with a set of resources to which the
applications running on the VM can request access.
• Unlike a physical server (where only one OS runs at
any one time and few, usually related, applications
run), many VMs can run simultaneously inside a single
physical server, and these VMs can also run many
different OSs supporting many different applications.
• Also, unlike a physical server, a VM is in actuality
nothing more than a set of files that describe and
comprise the virtual server.
• The main files that make up a VM are the configuration
file and the virtual disk files
Native vs Virtual Machine
A simplified data request

 Virtual machines have access to various


hardware resources
 They access virtual devices, software
constructs that represent physical
resources abstracted by the hypervisor. A simplified data request in
a virtual environment
The Role of a Hypervisor
• a hypervisor is an arbiter of resources
• software that sits between the physical resources
on a physical server and the virtual machines that
run on that server
• provide a virtual environment for those workloads
• enable virtual networks for communication between
workloads and to the outside world
• offer various forms of clustering for high availability.
Abstracting hardware from the
guests
Resource Allocation
Hypervisor Characteristics

• 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

Examples of Type 1 hypervisors


include VMware ESX, Microsoft VMware Player, VMware
Hyper-V, and the many Xen Workstation, and Microsoft
variants. Virtual Server are examples
of Type 2 hypervisors.
Microsoft Hype-V
VMware ESX architecture
Xen hypervisor architecture
CPU Virtualization
• The hypervisor schedules slices of time on the available
processors in the physical host server for the virtual
instructions to run.

 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

• With more memory,


computers can access
and process larger
amounts of data faster.
• Memory is the one with
the largest impact on
how well or how poorly
the virtual environment
will perform
• Dynamic allocation can
overcommit real
memory.
Fault Tolerant VM
Resource Pools

• Resource pools can be applied on a single


virtualization host, or across multiple hosts in
a cluster, and they aggregate the CPU cycles
and memory to be shared out among the
VMs, groups or of VMs
Load Balancers

• Spread load over server replicas


– Present a single public address (VIP) for a service
– Direct each request to a server replica

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?

You might also like