Virtualization and Cloud Computing
Virtualization and Cloud Computing
Md.Mahbub-E-Noor
MSc Computer Science 4th semester
South Asian University
May 20, 2014
Virtualization and Cloud Computing
Contents
1 Introduction
Definition
virtualization
2 The Traditional Server Concept
3 The Virtual Server Concept and its merits demerits
4 VirtualizationTechniques
5 Hypervisor
Different Hypervisors
Images of the hypervisors
KVM hypervisor
6 References
Virtualization and Cloud Computing
Introduction
Definition
Virtualization and Cloud Computing
Virtualization
In computing, a process of creating a illusion of something like
computer hardware, operating system (OS), storage device, or
computer network resources is Virtualization.
NIST Cloud Computing
According to NIST SP 800-145[8]
ā€Cloud computing is a model for enabling ubiquitous, convenient,
on-demand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage, applications,
and services) that can be rapidly provisioned and released with
minimal management effort or service provider interaction.ā€
Virtualization and Cloud Computing
Introduction
What is required for Cloud Computing
By Cloud Provider
1. Fast scalability . Quick addition and removal of servers
2. Service to customers should not be denied.
3. SLA should not be Violated
4. Efficient Resource Utilization
Constraints with physical machines :
High Provisioning time.
Lower Resource Utilization.
Space, Power, Cooling.
Low fault tolerance
Less Isolation - misbehaving application can affect all others.
High downtime.
Virtualization and Cloud Computing
Introduction
virtualization
Virtualization
Concept is not new.
The concept came from Multi Programming – Each Process thinks it has
complete control on all of the resources.
– Virtual Memory
– CPU Sharing
In Multi Programming CPU is shared among processes but in
virtualization CPU is shared among OSs.
Virtualization and Cloud Computing
The Traditional Server Concept
The Traditional Server Concept
–Easy to conceptualize.
–Fairly easy to deploy.
–Single OS image per machine.
–Easy to backup.
But,
If the File server fills up, or the Exchange server becomes overtaxed,
then the System Administrators must add in a new server.
Unless there are multiple servers, if a service experiences a hardware
failure, then the service is down.
Difficult to replicate.
Not very scalable.
Redundancy is difficult to implement.
Expensive to acquire and maintain hardware.
Running multiple applicatons on same machine often creates
conflict.
Virtualization and Cloud Computing
The Traditional Server Concept
Traditional Server Concept
Figure: Traditional Server Concept [9]
Virtualization and Cloud Computing
The Traditional Server Concept
And if something goes wrong ...
Figure: And if something goes wrong [9]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
The Virtual Server Concept
Tough to conceptualize.
Virtual servers can still be referred to by their function i.e.
email server, database server, etc.
If the environment is built correctly, virtual servers will not be
affected by the loss of a host.
Virtual servers can be scaled out easily.
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
The Virtual Server Concept
Figure: The Virtual Server Concept [9]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
The Virtual Server Concept
Figure: The Virtual Server Concept
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Benefits of using Virtual Machines
Instant provisioning - fast scalability
Live Migration is possible
Load balancing and consolidation in a Data Center is possible.
Low downtime for maintenance
Security and fault isolation
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
VM Migration
Figure: VM Migration [7]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Load Balancing
Figure: Load Balancing [7]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Consolidation
Figure: Consolidation of the servers [7]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Importance of Virtualization in Cloud Computing
Cloud can exist without Virtualization, although it will be difficult
and inefficient.
Cloud makes notion of ā€Pay for what you useā€ and ā€infinite
availability- use as much you wantā€.
These notions are practical only if we have
– lot of flexibility.
– efficiency in the back-end.
This efficiency is readily available in Virtualized Environments and
Machines.
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Importance of Virtualization in Cloud Computing
According to Intel ā€Here is the difference: Virtualization abstracts
compute resources –typically as virtual machines (VMs) – with
associated storage and networking connectivity. 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
nonvirtualized environments find hard to achieve.ā€ [6]
Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Disadvantages of Virtualization
Virtualization may not work well for :
Resource-intensive applications
–VMs may have RAM/CPU limitations
Performance testing
Hardware compatibility testing
Specific hardware requirements
Some hardware architectures or features are impossible to virtualize
such as:
– Certain registers or state not exposed
– Clocks, time, and real-time behavior
Virtualization and Cloud Computing
VirtualizationTechniques
VirtualizationTechniques
Full virtualization using Binary Translation.
OS Assisted Virtualization or Paravirtualization.
Hardware Assisted Virtualization.
Virtualization and Cloud Computing
VirtualizationTechniques
Privilege Rings
CPUs provide a range of protection levels also known as rings in which code
can execute.
Ring 0 has the highest level privilege.
Figure: Privilege Rings [9]
Virtualization and Cloud Computing
VirtualizationTechniques
Full virtualization
Almost complete simulation of the actual hardware to allow software, which
typically consists of a guest operating system, to run unmodified.
Figure: Full Virtualization [5]
Virtualization and Cloud Computing
VirtualizationTechniques
Full virtualization
Figure: Full Virtualization
Virtualization and Cloud Computing
VirtualizationTechniques
Paravirtualization
A hardware environment is not simulated; however, the guest programs are
executed in their own isolated domains, as if they are running on a separate
system. Guest programs need to be specifically modified to run in this
environment.
Figure: OS Assisted or Paravirtualization [5]
Virtualization and Cloud Computing
VirtualizationTechniques
Paravirtualization
Figure: OS Assisted or Paravirtualization
Virtualization and Cloud Computing
VirtualizationTechniques
Hardware Assisted Virtualization
It is a way of improving the efficiency of hardware virtualization. It involves
employing specially designed CPUs and hardware components that help
improve the performance of a guest environment.
Figure: Hardware Assisted Virtualization [5]
Virtualization and Cloud Computing
Hypervisor
Hypervisor
In virtualization, the host machine is the actual machine on which
the virtualization takes place, and the guest machine is the virtual
machine.The software or firmware that creates a virtual machine
on the host hardware is called a hypervisor or Virtual Machine
Manager which is the low-level program that allows multiple
operating systems to run concurrently on a single host computer.
Virtualization and Cloud Computing
Hypervisor
Different Hypervisors
Different Hypervisors
There are two types of hypervisors: Type 1 and Type 2. [2] [1]
A Type-1 hypervisor interacts directly with hardware that is being virtualized.
– It is completely independent from the operating system.
– Boots before the operating system (OS).
They are often referred to as a ā€nativeā€ or ā€bare metalā€ or ā€embeddedā€
hypervisors in vendor literature.
A Type-2 hypervisor sits on top of an operating system.
– Relies heavily on the operating system.
– It cannot boot until the operating system is already up and running.
– If operating system crashes, all end-users are affected.
– Since Type-2 hypervisors depend on an OS, they are not in full control of the
end user’s machine.
Virtualization and Cloud Computing
Hypervisor
Images of the hypervisors
Type1 hypervisor
Figure: Type1 hypervisor
Virtualization and Cloud Computing
Hypervisor
Images of the hypervisors
Type2 hypervisor
Figure: Type2 hypervisor
Virtualization and Cloud Computing
Hypervisor
KVM hypervisor
KVM hypervisor
KVM (Kernel-based Virtual Machine) is a virtualization infrastructure for the Linux
kernel which turns it into a hypervisor and allows its host operating system to act as a
Type 1 hypervisor.However, as Linux distribution is a operating system in its own
right, one can argue that KVM is Type 2 hypervisors
Linux 2.6.20 (released February 2007) was the first to include KVM.
Figure: Basic Concept KVM Architecture [4]
Virtualization and Cloud Computing
Hypervisor
KVM hypervisor
KVM network cinfiguration
We have eth0 interface in our host and it needs to use tagged network traffic
for VLAN ID 1,2,3.
eth0 - regular network interface
eth0.1 - virtual interface that use untagged frame from VLAN 1
eth0.2 - virtual interface that use untagged frame from VLAN 2
eth0.3 - virtual interface that use untagged frame from VLAN 3
Figure: KVM network cinfiguration concept [3]
Virtualization and Cloud Computing
Hypervisor
KVM hypervisor
KVM cinfiguration in CloudStack
In our lab we configured this vitualization in the following hypervisor host :
Figure: CloudStack Configuration
Virtualization and Cloud Computing
References
References
[1] ā€œComparison of the hypervisors,ā€
http://www.virtualcomputer.com/type-1-vs-type-2-hypervisor.
[2] ā€œHypervisors,ā€ http://searchservervirtualization.techtarget.com/feature/
Whats-the-difference-between-Type-1-and-Type-2-hypervisors.
[3] ā€œkvm-vlan-configuration,ā€ http:
//henroo.wordpress.com/2011/03/25/how-to-add-vlan-network-to-kvm-guest/.
[4] ā€œOVA-open-virtualization-alliance,ā€ https://openvirtualizationalliance.org/.
[5] ā€œUnderstanding Full,Para and Hardware Assisted Virtualization,ā€
www.vmware.com/files/pdf/VMware paravirtualization.pdf.
[6] ā€œVirtualization and cloud computing, Intel IT center, August 2013, URL:,ā€
http://www.intel.in/content/dam/www/public/us/en/documents/guides/
cloud-computing-virtualization-building-private-iaas-guide.pdf.
[7] M. Mayank and S. Sudevalayam, ā€œIntroduction to cloud computing and
virtualization.ā€
[8] M. Peter and G. Timothy, ā€œThe nist definition of cloud computing,ā€ NIST SP 800
- 145, 2011.
[9] J. Yash, ā€œVirtualization Concepts and Applications,ā€
http://www.ieee.ldrp.ac.in/index.php?option=com phocadownload&view=
category&download=2:pdf&id=1:workshop&Itemid=216, DA-IICT, DCOM
Research Group.
Virtualization and Cloud Computing
References

Cloud Computing and Virtualization

  • 1.
    Virtualization and CloudComputing Virtualization and Cloud Computing Md.Mahbub-E-Noor MSc Computer Science 4th semester South Asian University May 20, 2014
  • 2.
    Virtualization and CloudComputing Contents 1 Introduction Definition virtualization 2 The Traditional Server Concept 3 The Virtual Server Concept and its merits demerits 4 VirtualizationTechniques 5 Hypervisor Different Hypervisors Images of the hypervisors KVM hypervisor 6 References
  • 3.
    Virtualization and CloudComputing Introduction Definition Virtualization and Cloud Computing Virtualization In computing, a process of creating a illusion of something like computer hardware, operating system (OS), storage device, or computer network resources is Virtualization. NIST Cloud Computing According to NIST SP 800-145[8] ā€Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.ā€
  • 4.
    Virtualization and CloudComputing Introduction What is required for Cloud Computing By Cloud Provider 1. Fast scalability . Quick addition and removal of servers 2. Service to customers should not be denied. 3. SLA should not be Violated 4. Efficient Resource Utilization Constraints with physical machines : High Provisioning time. Lower Resource Utilization. Space, Power, Cooling. Low fault tolerance Less Isolation - misbehaving application can affect all others. High downtime.
  • 5.
    Virtualization and CloudComputing Introduction virtualization Virtualization Concept is not new. The concept came from Multi Programming – Each Process thinks it has complete control on all of the resources. – Virtual Memory – CPU Sharing In Multi Programming CPU is shared among processes but in virtualization CPU is shared among OSs.
  • 6.
    Virtualization and CloudComputing The Traditional Server Concept The Traditional Server Concept –Easy to conceptualize. –Fairly easy to deploy. –Single OS image per machine. –Easy to backup. But, If the File server fills up, or the Exchange server becomes overtaxed, then the System Administrators must add in a new server. Unless there are multiple servers, if a service experiences a hardware failure, then the service is down. Difficult to replicate. Not very scalable. Redundancy is difficult to implement. Expensive to acquire and maintain hardware. Running multiple applicatons on same machine often creates conflict.
  • 7.
    Virtualization and CloudComputing The Traditional Server Concept Traditional Server Concept Figure: Traditional Server Concept [9]
  • 8.
    Virtualization and CloudComputing The Traditional Server Concept And if something goes wrong ... Figure: And if something goes wrong [9]
  • 9.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits The Virtual Server Concept Tough to conceptualize. Virtual servers can still be referred to by their function i.e. email server, database server, etc. If the environment is built correctly, virtual servers will not be affected by the loss of a host. Virtual servers can be scaled out easily.
  • 10.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits The Virtual Server Concept Figure: The Virtual Server Concept [9]
  • 11.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits The Virtual Server Concept Figure: The Virtual Server Concept
  • 12.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Benefits of using Virtual Machines Instant provisioning - fast scalability Live Migration is possible Load balancing and consolidation in a Data Center is possible. Low downtime for maintenance Security and fault isolation
  • 13.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits VM Migration Figure: VM Migration [7]
  • 14.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Load Balancing Figure: Load Balancing [7]
  • 15.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Consolidation Figure: Consolidation of the servers [7]
  • 16.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Importance of Virtualization in Cloud Computing Cloud can exist without Virtualization, although it will be difficult and inefficient. Cloud makes notion of ā€Pay for what you useā€ and ā€infinite availability- use as much you wantā€. These notions are practical only if we have – lot of flexibility. – efficiency in the back-end. This efficiency is readily available in Virtualized Environments and Machines.
  • 17.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Importance of Virtualization in Cloud Computing According to Intel ā€Here is the difference: Virtualization abstracts compute resources –typically as virtual machines (VMs) – with associated storage and networking connectivity. 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 nonvirtualized environments find hard to achieve.ā€ [6]
  • 18.
    Virtualization and CloudComputing The Virtual Server Concept and its merits demerits Disadvantages of Virtualization Virtualization may not work well for : Resource-intensive applications –VMs may have RAM/CPU limitations Performance testing Hardware compatibility testing Specific hardware requirements Some hardware architectures or features are impossible to virtualize such as: – Certain registers or state not exposed – Clocks, time, and real-time behavior
  • 19.
    Virtualization and CloudComputing VirtualizationTechniques VirtualizationTechniques Full virtualization using Binary Translation. OS Assisted Virtualization or Paravirtualization. Hardware Assisted Virtualization.
  • 20.
    Virtualization and CloudComputing VirtualizationTechniques Privilege Rings CPUs provide a range of protection levels also known as rings in which code can execute. Ring 0 has the highest level privilege. Figure: Privilege Rings [9]
  • 21.
    Virtualization and CloudComputing VirtualizationTechniques Full virtualization Almost complete simulation of the actual hardware to allow software, which typically consists of a guest operating system, to run unmodified. Figure: Full Virtualization [5]
  • 22.
    Virtualization and CloudComputing VirtualizationTechniques Full virtualization Figure: Full Virtualization
  • 23.
    Virtualization and CloudComputing VirtualizationTechniques Paravirtualization A hardware environment is not simulated; however, the guest programs are executed in their own isolated domains, as if they are running on a separate system. Guest programs need to be specifically modified to run in this environment. Figure: OS Assisted or Paravirtualization [5]
  • 24.
    Virtualization and CloudComputing VirtualizationTechniques Paravirtualization Figure: OS Assisted or Paravirtualization
  • 25.
    Virtualization and CloudComputing VirtualizationTechniques Hardware Assisted Virtualization It is a way of improving the efficiency of hardware virtualization. It involves employing specially designed CPUs and hardware components that help improve the performance of a guest environment. Figure: Hardware Assisted Virtualization [5]
  • 26.
    Virtualization and CloudComputing Hypervisor Hypervisor In virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine.The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager which is the low-level program that allows multiple operating systems to run concurrently on a single host computer.
  • 27.
    Virtualization and CloudComputing Hypervisor Different Hypervisors Different Hypervisors There are two types of hypervisors: Type 1 and Type 2. [2] [1] A Type-1 hypervisor interacts directly with hardware that is being virtualized. – It is completely independent from the operating system. – Boots before the operating system (OS). They are often referred to as a ā€nativeā€ or ā€bare metalā€ or ā€embeddedā€ hypervisors in vendor literature. A Type-2 hypervisor sits on top of an operating system. – Relies heavily on the operating system. – It cannot boot until the operating system is already up and running. – If operating system crashes, all end-users are affected. – Since Type-2 hypervisors depend on an OS, they are not in full control of the end user’s machine.
  • 28.
    Virtualization and CloudComputing Hypervisor Images of the hypervisors Type1 hypervisor Figure: Type1 hypervisor
  • 29.
    Virtualization and CloudComputing Hypervisor Images of the hypervisors Type2 hypervisor Figure: Type2 hypervisor
  • 30.
    Virtualization and CloudComputing Hypervisor KVM hypervisor KVM hypervisor KVM (Kernel-based Virtual Machine) is a virtualization infrastructure for the Linux kernel which turns it into a hypervisor and allows its host operating system to act as a Type 1 hypervisor.However, as Linux distribution is a operating system in its own right, one can argue that KVM is Type 2 hypervisors Linux 2.6.20 (released February 2007) was the first to include KVM. Figure: Basic Concept KVM Architecture [4]
  • 31.
    Virtualization and CloudComputing Hypervisor KVM hypervisor KVM network cinfiguration We have eth0 interface in our host and it needs to use tagged network traffic for VLAN ID 1,2,3. eth0 - regular network interface eth0.1 - virtual interface that use untagged frame from VLAN 1 eth0.2 - virtual interface that use untagged frame from VLAN 2 eth0.3 - virtual interface that use untagged frame from VLAN 3 Figure: KVM network cinfiguration concept [3]
  • 32.
    Virtualization and CloudComputing Hypervisor KVM hypervisor KVM cinfiguration in CloudStack In our lab we configured this vitualization in the following hypervisor host : Figure: CloudStack Configuration
  • 33.
    Virtualization and CloudComputing References References [1] ā€œComparison of the hypervisors,ā€ http://www.virtualcomputer.com/type-1-vs-type-2-hypervisor. [2] ā€œHypervisors,ā€ http://searchservervirtualization.techtarget.com/feature/ Whats-the-difference-between-Type-1-and-Type-2-hypervisors. [3] ā€œkvm-vlan-configuration,ā€ http: //henroo.wordpress.com/2011/03/25/how-to-add-vlan-network-to-kvm-guest/. [4] ā€œOVA-open-virtualization-alliance,ā€ https://openvirtualizationalliance.org/. [5] ā€œUnderstanding Full,Para and Hardware Assisted Virtualization,ā€ www.vmware.com/files/pdf/VMware paravirtualization.pdf. [6] ā€œVirtualization and cloud computing, Intel IT center, August 2013, URL:,ā€ http://www.intel.in/content/dam/www/public/us/en/documents/guides/ cloud-computing-virtualization-building-private-iaas-guide.pdf. [7] M. Mayank and S. Sudevalayam, ā€œIntroduction to cloud computing and virtualization.ā€ [8] M. Peter and G. Timothy, ā€œThe nist definition of cloud computing,ā€ NIST SP 800 - 145, 2011. [9] J. Yash, ā€œVirtualization Concepts and Applications,ā€ http://www.ieee.ldrp.ac.in/index.php?option=com phocadownload&view= category&download=2:pdf&id=1:workshop&Itemid=216, DA-IICT, DCOM Research Group.
  • 34.
    Virtualization and CloudComputing References