Ch1 Intro Virt
Ch1 Intro Virt
Virtualization Techniques
Chapter 1:
Virtualization Fundamentals
1
Motivation
▪ Issues of Traditional IT systems
… … …
▪ Underused and unused IT resources
3
Definition and principles of
Virtualization
4
Definition and principles of Virtualization
▪ Definition: Virtualization is a technique that combines the hardware and/or software techniques
that make it possible to run several instances of operating systems or several applications on a single
or clustered physical machine(s), concurrently and separately from one other.
▪ The resources of the physical machine (e.g., disk space, RAM, CPU) are shared with the virtual
machine (VM).
▪ A virtual machine behaves exactly like a physical computer and contains its own hardware
resources that are virtual.
5
Definition and principles of Virtualization (…)
▪ Terminology
Guest OS
▪ The guest system: is the operating system installed inside a virtual machine.
▪ The virtual machine: an isolated environment that appears to be a whole computer, but actually only
6
has access to a portion of the computer resources. It can be created using VirtualBox, for instance .
Definition and principles of Virtualization (…)
▪ Terminology
▪ Virtual Machine Monitor (VMM): is the control system at the core of virtualization. It acts as the
control and translation system between the VMs and the hardware.
▪ VMM properties: Fidelity, Performance, Safety and Isolation 7
Definition and principles of Virtualization (…)
▪ Comparison between a virtualized and non-virtualized resource
▪ Portability
▪ Independent of physical hardware
▪ Enables migration of live, running VMs
10
Definition and principles of Virtualization (…)
▪ Virtualization properties
▪ Binary compatibility:
▪ Interposition:
▪ Isolation:
▪ Encapsulation:
▪ Portability
11
History of Virtualization
12
History of Virtualization
▪ History Timeline: Virtualization 2.0
System/360 model 67 (Server consolidation)
(CP/CMS, VM/CMS),
known as Hypervisor
VMware (X86) XEN paravirtualisation KVM/Linux (2013) Docker
QMU
2012+
1960
1999
2001
2003
2005
2007
2008
IBM M44 MS virtual PC Extension VT-xAMD-V MS Hyper V
vmware ESX Virtualization 3.0
Network virtualization
▪ Virtualization has its origins in the mainframe days in the late 1960s and early Storage virtualization
Cloud computing
1970s,
13
▪ IBM invested a lot of time and effort in developing robust time-sharing s°.
History of Virtualization (…)
▪ The concept of virtualization has its origins in the mainframe days in the late 1960s and early 1970s,
when IBM invested a lot of time and effort in developing robust time-sharing solutions.
▪ Around 1967, IBM introduced the System/360 model 67 (CP/CMS, VM/CMS), known as Hypervisor, its first
major system with virtual memory. Integral to the model 67 was the concept of a self-virtualizing processor
instruction set, perfected in later models into the virtual machine (VM) operating systems.
▪ The 1990s saw an explosion of emulation on x86 architecture (e.g., VMware (X86) and a remarkable
growth in the number of servers used throughout the enterprise.
▪ The 2000s are characterized by the development of virtualization software to improve the advancement
of (AMD/INTEL) hardware solutions.
▪ Advanced virtualization techniques (e.g., Network virtualization, Storage virtualization, and Cloud computing)
14
▪ Desktop virtualization
▪ Server virtualization
▪ Software/Application virtualization
▪ Network virtualization
▪ Storage virtualization
16
Desktop virtualization
▪Definition: is software technology that separates the desktop environment and associated
application software from the physical client device that is used to access it.
▪ Desktop applications and data storage are moved to a centralized server to improve access and
lower costs.
▪ The virtual desktop should be connected to the server either through a network or the Internet.
▪It allows the provision of an application running in an isolated environment, which do not
require any local installation, integration, or dependencies on the underlying computing
platform.
Application 1 Application 2 Application 3 Application n
Virtualization layer
Operating System
19
Hardware
Software / Application Virtualization (…)
▪Why do we use Application virtualization ?
▪ Reduces testing costs, regardless of form factor, facilitating OS migration
▪ Reduces compatibility and regression testing by providing isolation and minimizes applications
conflicts
▪Examples:
▪ Microsoft App-V: is a tool IT administrators can use to run applications remotely and stream them
to end user,
▪ Citrix XenApp: extends Microsoft Remote Desktop Session Host (formerly known as
Terminal Services) desktop sessions and applications to users through the Citrix HDX protocol.
20
Storage Virtualization
▪Is the process of masking the underlying complexity of physical storage resources and
presenting the logical view of these resources to compute systems.
▪ Virtual volumes are created from the storage pools and are
assigned to the compute system
▪Network virtualization consists of sharing the same physical infrastructure (throughput, CPU
resources, etc.) for the benefit of several isolated virtual networks.
23
Network Virtualization
▪ Improve network efficiency/Increase flexibility
▪ Reduce capital and operational costs.
▪ Maintain high standards of security, scalability,
▪ Manageability, and availability throughout the campus design
24
Network Virtualization (...)
▪ Common Network Virtualization scenarios
▪ Network virtualization can also be applied within virtual servers to create synthetic
networks between virtual machines (VMs); this is often dubbed "internal network
virtualization.“
▪ A good example of an internal virtual network would be VnetworkStack (Vyatta, Citrix) or opensolaris 25
Virtualization Advantages/
Challenges
26
Virtualization Advantages
▪ Resource optimization and efficient load balancing: distribution of virtual machines on physical
machines according to the respective loads;
▪ Consolidation provides a cost and time effective mutualization (e.g., electricity consumption, physical
maintenance, monitoring, support, hardware compatibility, etc.)
▪ Easy installation, backup, deployment and migration of virtual machines and applications;
▪ Decrease the risks associated with server sizing when defining the architecture of an application, the
addition of resources become transparent;
▪ Automatic recovery during incidents. Virtualization improves prevention and fault management as well
as the system's recovery plan. 27
Virtualization Challenges
▪ Extra Costs: Virtualization tools are very resource-intensive applications and require powerful
machines that cost more than more-conventional servers. Management of new tools requires increased
headcount and training.
▪ Availability: Several virtual environments run on a single physical machine, if this machine fails, then
the services provided by the virtual environments are interrupted. Migration to virtualization without
considering an effective disaster recovery plan (Disaster Recovery Plan), can be fatal to your
information system.
▪ Congested storage network: data storage traffic can dramatically results in large amounts of data
generated from multiple guests through one host storage network connection (e.g., NFS), which can
cause instant bottlenecks, flooding, and congestion. Data pipes can’t handle the massive data volumes
▪ Complexity of Virtual Infrastructure Configuration: Although virtualization offers valuable benefits for
IT organizations, it adds levels of complexity. All the resources, both virtual and physical must be
28
Computing
29
Virtualization and Cloud
▪ What is Cloud ?
30
Virtualization and Cloud (...)
▪ The cloud determines how those virtualized resources are allocated, delivered, and
presented.
▪ Virtualization is not necessary to create a cloud environment, but it enables rapid scaling of
resources in a way that non virtualized environments find hard to achieve.
31
Virtualization and Cloud (...)
▪ Virtualization has been in data centers for several years as a successful IT strategy for
consolidating servers.
▪ Virtualization can provide the basic building blocks for your cloud environment to enhance
agility and flexibility.
▪ This continuing growth makes cloud computing an obvious next step for many
organizations.
32
33