Virtualization
Virtualization
Virtualization is a technology that transforms hardware into
software.
Virtualization allows to run multiple operating system on a
single machine.
Each copy of an operating system is installed in to a virtual
machine.
Virtualization technology is one of the fundamental components
of cloud computing.
Virtualization allows the creation of a secure, customizable, and
isolated execution environment for running applications.
which plays a fundamental role in efficiently delivering
Infrastructure-as-a-Service (IaaS) solutions for cloud computing.
Virtualization provides a great opportunity to build elastically
scalable systems that can provision additional capability with
minimum costs.
To emulate an executing environment separate from the one that
hosts such programs.
Virtualization Definition
➢ A technique of splitting/adding a physical resources/many resources
into desired number of logical resources. e.g., CPU, Memory, storage
space
Or
➢ A technique that transforms hardware onto software.
➢ Examples:
➢ Virtual Classroom
➢ Virtualization of IT industry
➢ Video calling
➢ Virtualization of Mobile storage space
➢ Virtualization of a system
➢ Virtualization of storage space in a research center
A Case study to show benefits of virtualization
The expenses of clothing company- Before Virtualization
➢ 2500 sqft data center
➢ 150 physical server (50 for infra and 100 for App)
(4 GB RAM, 2CPU, 128GB HDD)
➢ Cooling system Capex + Opex = 1.5
crore per year
➢ 150 physical disk
➢ Cabling + Power whips
➢ Staff Members
➢ Electricity and Power Backup
➢ Maintenance
Link to study some other case studies
https://searchdatacenter.techtarget.com/feature/Case-studies-show-the-benefits-of-virtualization
Motivation : Need of Virtualization
What is the problems in conventional case ?
Companies IT investment for peak capacity
Lack of agility for IT infrastructure
IT maintain cost for every company
Usually suffered from hardware failure risk etc.
These IT complexities force company to find some
solutions.
Virtualization
Assume that we are going to be an IaaS cloud provider.
Then, what are the problems we are facing ?
Clients will request different operating systems.
Clients will request different storage sizes.
Clients will request different network bandwidths.
Clients will change their requests anytime and ….. So
on…..
There any following strategies ?
Allocate a new physical machine for each incomer.
Prepare a pool of pre-installed machines for different
requests.
Virtualization reference model
Virtualization
Obviously, neither of previous strategies will work.
We need more powerful techniques to deal with that.
Types of Virtualization techniques will help.
For computation resources
Virtual Machine technique
For storage resources
Virtual Storage technique
For communication resources
Virtual Network technique
IaaS Architecture
Infrastructure as a Service (IaaS) delivers computer infrastructure for
cloud user, typically a platform virtualization environment as a service.
Virtualization is an enabling technique to provide an abstraction of
logical resources away from underlying physical resources.
Virtualization Overview
System abstraction :
Computer systems are built on levels of abstraction.
Higher level of abstraction hide details of lower levels.
Each abstraction level make use of the functions
supported from its lower level, and provide another
abstraction to its higher one.
Example: files are an abstraction of a disk
Machine level abstraction :
For OS developers, a machine is defined
by ISA (Instruction Set Architecture).
This is the major division between
hardware and software.
What is Instruction Set Architecture (ISA)?
An ISA is an abstract model of
a computer.
It is also referred to as architecture or
computer architecture.
Examples : X86, ARM, MIPS
OS level abstraction :
For compiler or library developers, a machine is defined by ABI
(Application Binary Interface).
This define the basic OS interface
which may be used by libraries or user.
Examples :
User ISA
OS system call
Virtual Machine
What is Virtual Machine (VM)?
VM is a software implementation of a machine (i.e. a computer) that
executes programs like a real machine.
Virtual machine allows to run multiple operating system as virtual
machines
Each copy of an operating system is installed in to a virtual machine.
After introducing virtualization
AD DNS DHCP ……… Billing
Windows Windows Windows Windows
………
VM1 VM2 VM3 VMn
Hypervisor
Physical machine (Server)
(64GB RAM, 32core CPU, 4 TB HDD)
Traditional Architecture Vs. Virtual Architecture
Virtual Machine Monitor
What’s Virtual Machine Monitor (VMM) ?
VMM or Hypervisor is the software layer providing the virtualization.
System architecture :
VM1 VM2 VM3
Hypervisor concepts
Hypervisor is a software or firmware that creates and runs
virtual machines.
A hypervisor is also called as Virtual Machine Monitor.
Host Machine - A machine on which a hypervisor is running
one or more virtual machines.
Guest Machine - Each virtual machine is guest machine
Hypervisor concepts: Introduced by IBM
What is SDN?
There’s a simple answer:
SDN (software-defined networking) is the separation of
control and data planes
The separation allows control topology to be
independent of physical network topology
The more interesting question is:
Why would anyone want to do this?
Logically centralized control plane
That question has a lot of answers… e.g.
OpenFlow
Data Plane
Outline
History of SDN
Challenges faced by IP networks
SDN architecture
Case Studies:
Network Virtualization
Traffic Engineering
SD-WAN
Bare metal switching
Challenges with IP networks
Lack of abstractions
Inability to express intent
Unpredictable outcome from complex distributed
algorithms
Interactions among protocols (e.g. IGP & EGP)
Can’t manage a device unless it’s properly configured
bootstrap issue – control & management plane
dependent on correct data plane
Fragility, risk of change
Glacial pace of innovation
Disaggregation of computing Industry
App App App App App App
Specialized
Applications Open Interface
Window Mac
or Linux or
Specialized s OS
OS
Open Interface
Specialized
Hardware
Microprocessors
Disaggregation of networking Industry
App App App App App App
Specialized
Applications Open Interface
Networ Networ Networ
k or k or k
Specialized
OS OS OS
OS
Open Interface
Specialized Merchant Silicon
Hardware Switching Chips
Traditional Control and Data Planes
Control Plane
• Protocols: BGP, OSPF, RIP
• RIB: Collection of Link/Path
Routing Table Attributes
Control Plane
(RIB) • Northbound Configuration
Interface
− e.g., Cisco CLI
Forwarding
Table Data Plane Data Plane
(FIB) • Protocols: IP
• FIB: Optimized for Fast Lookup
• Northbound Control Interface
− Historically Private/Internal
Management, Control and Data Planes
Network topology
request
Request stored
and acknowledged
MANAGEMENT
PLANE
Desired State
Calculate data
CONTROL plane state
PLANE
Discovered State Translated State
DATA
PLANE Identify data plane
resources
Realized State
Types of Virtualization: Based on Access Levels
➢ Based on the access of the hardware resources by VM, virtualization can be
divided into three parts:
➢ Full virtualization: The hardware completely supports the virtual
machines and we need not to modify the hardware or software.
E.g., KVM, VMWare
➢ Partial virtualization: Some part of the hardware can be simulated and
that can be used by the VM as a real hardware. E.g., Address space
virtualization
➢ Para virtualization: The hardware does not support VMs; hence, the
VMs work on its own simulated environment without any direct
interaction with the hardware. E.g., Xen
Types of Virtualization: Based on the Placement of Hypervisor
Types of Virtualization Contd…
Types of Virtualization Contd…