Cloud Computing & Virtualization

34
Virtualization and Cloud Computing Virtualization and Cloud Computing Md.Mahbub-E-Noor MSc Computer Science 4th semester South Asian University May 20, 2014

Transcript of Cloud Computing & Virtualization

Virtualization and Cloud Computing

Virtualization and Cloud Computing

Md.Mahbub-E-Noor

MSc Computer Science 4th semesterSouth Asian University

May 20, 2014

Virtualization and Cloud Computing

Contents

1 IntroductionDefinitionvirtualization

2 The Traditional Server Concept

3 The Virtual Server Concept and its merits demerits

4 VirtualizationTechniques

5 HypervisorDifferent HypervisorsImages of the hypervisorsKVM hypervisor

6 References

Virtualization and Cloud Computing

Introduction

Definition

Virtualization and Cloud Computing

Virtualization

In computing, a process of creating a illusion of something likecomputer hardware, operating system (OS), storage device, orcomputer 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 configurablecomputing resources (e.g., networks, servers, storage, applications,and services) that can be rapidly provisioned and released withminimal 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 hascomplete control on all of the resources.– Virtual Memory– CPU SharingIn Multi Programming CPU is shared among processes but invirtualization 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 hardwarefailure, 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 createsconflict.

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 beaffected 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 difficultand inefficient.Cloud makes notion of ”Pay for what you use” and ”infiniteavailability- 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 andMachines.

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 abstractscompute resources –typically as virtual machines (VMs) – withassociated storage and networking connectivity. The clouddetermines how those virtualized resources are allocated, delivered,and presented. Virtualization is not necessary to create a cloudenvironment, but it enables rapid scaling of resources in a way thatnonvirtualized 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 virtualizesuch 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 codecan 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, whichtypically 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 areexecuted in their own isolated domains, as if they are running on a separatesystem. Guest programs need to be specifically modified to run in thisenvironment.

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 involvesemploying specially designed CPUs and hardware components that helpimprove 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 whichthe virtualization takes place, and the guest machine is the virtualmachine.The software or firmware that creates a virtual machineon the host hardware is called a hypervisor or Virtual MachineManager which is the low-level program that allows multipleoperating 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 theend 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 hypervisorKVM (Kernel-based Virtual Machine) is a virtualization infrastructure for the Linuxkernel which turns it into a hypervisor and allows its host operating system to act as aType 1 hypervisor.However, as Linux distribution is a operating system in its ownright, one can argue that KVM is Type 2 hypervisorsLinux 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 cinfigurationWe have eth0 interface in our host and it needs to use tagged network trafficfor VLAN ID 1,2,3.eth0 - regular network interfaceeth0.1 - virtual interface that use untagged frame from VLAN 1eth0.2 - virtual interface that use untagged frame from VLAN 2eth0.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 andvirtualization.”

[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, DCOMResearch Group.

Virtualization and Cloud Computing

References