Week 8 CloudComputing Module Two
Week 8 CloudComputing Module Two
(314261)
Week 8
Dr.Hassan Al-Sukhni
1305211
PRINCIPLES OF
CLOUD COMPUTING
Module Two Part 2
Src: www.favpng.com
Copyright of the Course Materials
3
Outline
Learning Objectives
Virtualization
Basic Terminologies
Virtualization architecture
Virtualization Platforms
Virtualization Techniques
Virtualization software
Summary
4
Learning Objectives
Compare and contrast different virtualization techniques, and understand the advantages and
disadvantages of each approach.
Understand the benefits of virtualization, including increased hardware utilization, improved
efficiency and scalability, and enhanced security and isolation.
5
VIRTUALIZATION
6
Virtualization
8
History of Virtualization
(from “Modern Operating Systems” 4th Edition, p474 by Tanenbaum and Bos)
1960’s, IBM: CP/CMS control program: a virtual machine operating system for the IBM
System/360 Model 67.
2000, IBM: z-series with 64-bit virtual address spaces and backward compatible with the
System/360
1974: Popek and Golberg from UCLA published “Formal Requirements for Virtualizable Third
Generation Architectures” and listed the conditions a computer architecture should satisfy to
efficiently support virtualization. The popular x86 architecture that originated in the 1970s did
not support these requirements for decades.
1990’s, Stanford researchers, VMware: Researchers developed a new hypervisor and founded
VMware, the biggest virtualization company of today’s. The first virtualization solution was is
1999 for x86.
Today many virtualization solutions: Xen from Cambridge, KVM, Hyper-V, …
IBM was the first to produce and sell virtualization for the mainframe.
But, VMware popularized virtualization for the masses.
9
BASIC TERMINOLOGIES
10
Basic Terminologies
Hypervisor: A hypervisor, also known as a virtual machine monitor or VMM, is software that
creates and runs virtual machines (VMs). A hypervisor allows one host computer to support
multiple guest VMs by virtually sharing its resources, such as memory and processing.
Emulation: Emulation is the use of an application program or device to imitate the behavior of
another program or device.
11
Basic Terminologies
Software virtualization: It is just like a virtualization but able to abstract the software
installation procedure and create virtual software installations. Virtualized software is an
application that will be “installed” into its own self-contained unit.
12
Basic Terminologies
Containers: Containers are the products of operating system virtualization. They provide a
lightweight virtual environment that groups and isolates a set of processes and resources such
as memory, CPU, disk, etc., from the host and any other containers.
13
VIRTUALIZATION ARCHITECTURE
14
Virtualization Architecture
16
Characteristics of Virtualization in Cloud Computing
Partitioning: In virtualization, many applications and operating systems (OS) are supported in
a single physical system by partitioning (separating) the available resources.
Isolation: Each VM is isolated from its host physical system and other virtualized machines.
Because of this isolation, if one virtual instance crashes, it does not affect the other VMs.
Encapsulation: A VM can be represented (and even stored) as a single file, so its identification
is easy, based on the services that it provides. In essence, the encapsulated process could be a
business service.
Consolidation: Virtualization eliminates the need of a dedicated single system to one
application and hence, multiple OS can run in the same server. Both old and advanced version
of OS may be deployed in the same platform without purchasing additional hardware
Easier development flexibility: Application developers may able to run and test their
applications and programs in heterogeneous OS environments on the same virtualized
machine.
17
Characteristics of Virtualization in Cloud Computing
Migration and cloning: VM can be moved from one site to another to balance the workload.
As the result of migration, users can access updated hardware as well as make recovery from
hardware failure. Cloned VMs are easy to deploy in the local sites as well as remote sites.
Stability and security: In a virtualized environment, host OS hosts different types of multiple
guest OS containing multiple applications. Each VM is isolated from each other and they do
not interfere into the other’s work, which in turn helps the security and stability aspect.
18
VIRTUALIZATION PLATFORMS
19
Virtualization Platform - Xen Virtualization
20
Virtualization Platform - VMware Virtualization
21
VIRTUALIZATION TECHNIQUES
22
Virtualization Techniques
1. Hypervisor Virtualization
2. Guest OS Virtualization
3. Shared Kernel Virtualization
4. Kernel Level Virtualization
23
1. Hypervisor Virtualization
24
1. Hypervisor Virtualization
Type 1 and 2 Hypervisors
Type 1 Hypervisor Type 2 Hypervisor
Taxonomy of VMMs:
1. Type 1 Hypervisor (bare metal, native): supports multiple virtual machines
and runs directly on the hardware (e.g., VMware ESX, Xen)
2. Type 2 Hypervisor (hosted) VM - runs under a host operating system (e.g.,
user-mode Linux)
25
2. Guest OS Virtualization
27
4. Kernel Level Virtualization
28
VIRTUALIZATION SOFTWARE
29
Virtualization software - native hypervisors
30
Virtualization software - hosted independent hypervisors
VMware Fusion: software hypervisor developed for Intel-based Macs to run Microsoft
Windows, Linux, NetWare, or Solaris on VMs, along with the OS X OS, based on
paravirtualization, hardware virtualization, and dynamic recompilation;
PearPC: architecture-independent PowerPC platform emulator for PowerPC operating
systems, including pre-Intel versions of OS X, Darwin, and Linux;
Oracle VM VirtualBox: free and open-source hypervisor for x86 computers; and
QEMU (Quick Emulator): free and open-source hosted hypervisor.
31
Virtualization software - hosted specialized hypervisors
coLinux: Cooperative Linux allows Microsoft Windows and the Linux kernel to run
simultaneously;
MoM: Mac-on-Mac is a port of Mac-on-Linux for Mac OS X;
Mac-on-Linux: open-source VM for running the classic Mac OS or OS X on PowerPC
computers running Linux;
bhyve: a type-1 hypervisor included in FreeBSD running FreeBSD 9+, OpenBSD, NetBSD,
Linux and Windows desktop, and Windows Server; and
L4Linux: a variant of Linux kernel running virtualized on L4 microkernel; L4Linux kernel
runs a service on L4.
32
Summary
Each type of virtualization has its own advantages and disadvantages and is best suited for
different use cases.
Hypervisor virtualization is generally considered the most secure and flexible type of
virtualization,
While guest OS virtualization is lightweight and ideal for containerization.
Shared kernel virtualization is often used for hosting multiple services on a single machine,
While kernel-level virtualization is used for running multiple operating systems on a single
machine.
33