1. Virtualization and Cloud Computing
Virtualization and Cloud Computing
Md.Mahbub-E-Noor
MSc Computer Science 4th semester
South Asian University
May 20, 2014
2. 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
3. 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.”
4. 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.
5. 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.
6. 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.
7. Virtualization and Cloud Computing
The Traditional Server Concept
Traditional Server Concept
Figure: Traditional Server Concept [9]
8. Virtualization and Cloud Computing
The Traditional Server Concept
And if something goes wrong ...
Figure: And if something goes wrong [9]
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.
10. Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
The Virtual Server Concept
Figure: The Virtual Server Concept [9]
11. Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
The Virtual Server Concept
Figure: The Virtual Server Concept
12. 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
13. Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
VM Migration
Figure: VM Migration [7]
14. Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Load Balancing
Figure: Load Balancing [7]
15. Virtualization and Cloud Computing
The Virtual Server Concept and its merits demerits
Consolidation
Figure: Consolidation of the servers [7]
16. 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.
17. 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]
18. 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
19. Virtualization and Cloud Computing
VirtualizationTechniques
VirtualizationTechniques
Full virtualization using Binary Translation.
OS Assisted Virtualization or Paravirtualization.
Hardware Assisted Virtualization.
20. 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]
21. 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]
22. Virtualization and Cloud Computing
VirtualizationTechniques
Full virtualization
Figure: Full Virtualization
23. 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]
24. Virtualization and Cloud Computing
VirtualizationTechniques
Paravirtualization
Figure: OS Assisted or Paravirtualization
25. 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]
26. 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.
27. 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.
28. Virtualization and Cloud Computing
Hypervisor
Images of the hypervisors
Type1 hypervisor
Figure: Type1 hypervisor
29. Virtualization and Cloud Computing
Hypervisor
Images of the hypervisors
Type2 hypervisor
Figure: Type2 hypervisor
30. 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]
31. 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]
32. 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
33. 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.