Introduction to Cloud Computing - III
Introduction to Cloud Computing - III
Definition
• This is a service model in which hardware is
virtualized
• Vendor owns the equipment: servers, storage,
network infrastructure
• Developer creates virtual hardware on which
to develop applications and services.
• IaaS vendor created a hardware utility service
where the user provisions virtual resources as
required.
IaaS Workloads
• Fundamental unit of virtualized client in an IaaS
deployment is called a workload.
• A workload simulates the ability of a certain type
of real or physical server to do an amount of
work
• Measured by the number of Transactions Per
Minute (TPM) or a similar metric
• Workload has certain attributes such as
• Throughput, Disk I/Os measured in Input/Output
Per Second IOPS,RAM consumed under load in
MB, network throughput and latency
Instance
• A provisioned server called an instance is
reserved by a customer,
• Necessary amount of computing resources
needed to achieve that type of physical server
is allocated to the client’s needs
Virtual Partitioning in IaaS Cloud
IaaS Example
AWS
• classic Service Oriented Architecture (SOA)
• has several data centers in which servers run
on top of a virtualization platform (Xen)
• may be partitioned into logical compute units
of various sizes
• Developers can apply system images
containing different OS and applications or
create their own system images.
Pods and Aggregation
• Workloads support a certain number of users
• The limit of the largest virtual machine
instance possible, a copy or clone of the
instance saved to support additional users.
• A group of users within a particular instance is
called a pod. Pods are managed by a Cloud
Control System (CCS).
Failover
Agenda
• Overview
– Why do we need IaaS ?
– How IaaS meets cloud properties ?
• Enabling Techniques
– Virtualization Overview
– Terminology & Taxonomy
WHY DO WE NEED?
Overview
• 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
Customer A Customer B
I want … I want …
I wantWindows
… I wantLinux
…
Virtualization
• How about preparing a pool of pre-installed
physical machines for all kinds of request ?
I want
Mac OS
Somebody
Somebody may want
Somebody
Somebody may want
might want… might want…
– Example
• files are an abstraction of a
disk
Virtualization Overview
• Machine level abstraction :
– For OS developers, a
machine is defined by ISA
(Instruction Set
Architecture).
– This is the major division
between hardware and
software.
– Examples :
• X86
• ARM
• MIPS
Virtualization Overview
• 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
Virtualization Overview
• Library level abstraction :
– For application developers,
a machine is defined by
API (Application
Programming Interface).
– This abstraction provides
the well-rounded
functionalities.
– Examples :
• User ISA
• Standard C library
• Graphical library
Virtualization Overview
• The concept of virtualization is everywhere !!
– In IaaS, we focus the virtualization granularity at each physical hardware
device.
• General virtualization implementation level :
– Virtualized instance
• Software virtualized hardware instance
– Virtualization layer
• Software virtualization implementation
– Abstraction layer
• Various types of hardware access interface
– Physical hardware
• Various types of infrastructure resources
• Different physical resources :
– Server, Storage and Network
VIRTUALIZATION (TERMINOLOGY &
TAXONOMY)
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.
• Terminology :
– Host (Target)
• The primary environment where
will be the target of virtualization.
– Guest (Source)
• The virtualized environment where
will be the source of virtualization.
Emulation vs. Virtualization
• Emulation technique
– Simulate an independent environment where guest ISA
and
host ISA are different.
– Example
• Emulate x86 architecture on ARM platform.
• Virtualization technique
– Simulate an independent environment where guest ISA
and
host ISA are the same.
– Example
• Virtualize x86 architecture to multiple instances.
Process Virtual Machine
• Process virtual machine
– Usually execute guest applications with an ISA different from
host
– Couple at ABI(Application Binary Interface) level via runtime system
– Not persistent
System Virtual Machine
• System virtual machine
– Provide the entire operating system on same or different host ISA
– Constructed at ISA level
– Persistent
Taxonomy
49
Virtualization Approaches
• Full-Virtualization
57
Type 1
• Type 1 VMs have no host operating system
• The operating system loaded into a virtual
machine guest operating system
• No constraint on running the same guest on
multiple VMs on a physical system
• An operating system running on a Type 1 VM is a
full virtualization because it is a complete
simulation of the hardware that it is running on
• Example: LynxSecure, RTS Hypervisor, Oracle VM,
Sun xVM Server, VMware ESX and
• ESXi, and Wind River VxWorks
Type 2
• Software interface is created that emulates the devices with
which a system would normally interact.
• Abstraction is meant to place many I/O operations outside
the virtual environment, which makes it both
programmatically easier
• Sometimes referred to as paravirtualization
• It is the host operating system that is performing the I/O
through a para-API.
• Installed over a host operating system; for Microsoft Hyper-
V, Os-Windows Server
• Example: KVM, Microsoft Hyper V, Parallels Desktop for
Mac, Wind River Simics, VMWare Fusion, Virtual Server
2005 R2, Xen, Windows Virtual PC, and VMware
Workstation 6.0
Type 1 and 2
Criteria for VMM
• VMM can efficiently support virtualization ( by
Goldberg and Popek in 1974) having properties
as:
– Equivalence: A guest running under the control of a
VMM should exhibit same behavior when executed
directly on physical host
– Resource control : The VMM should be in complete
control of virtualized resources
– Efficiency: statistically dominant fraction of the
machine instructions should be executed without
intervention from VMM
Examples
Xen KVM
• Type 2 Virtualization • Type 1 Virtualization
• Para-Virtualization • Full-Virtualization
62
Cloud Migration
Operating system-level virtualization
Operating system-level virtualization
• Offers the opportunity to create different and separated
execution environments for applications that are managed
concurrently
• Different from hardware virtualization
• No hypervisor
• Done within a single operating system, where the OS kernel
allows for multiple isolated user space instances
• Kernel is responsible for sharing the system resources among
instances
• User space instance contains a proper view of the file system
(isolated, and separate IP addresses, software
configurations, and access to devices)
• Operating systems are general-purpose, time- shared with
the capability to provide resource isolation.
OS Virtualization
Adv:
• Little or no overhead because applications
directly use OS system calls (no emulation)
• No need to modify applications to run
• Nor to modify any specific hardware
• Disadv:
• Does not expose the same flexibility of
hardware virtualization, since all the user
space instances must share the same OS
Examples
• Mostly Unix-based systems
• Some (Solaris and OpenVZ) allow for different
versions of the same operating system to
operate concurrently
Examples: FreeBSD Jails, IBM Logical Partition
(LPAR), SolarisZones and Containers, Parallels
Virtuozzo Containers, OpenVZ, iCore Virtual
Accounts, Free Virtual Private Server
(FreeVPS)
Programming language-level
virtualization
Programming language-level
virtualization
• Is mostly used to achieve ease of deployment of
applications, managed execution, and portability across
different platforms and OS
• Consists of a virtual machine executing the byte code of a
program,
• Compilers implemented and used this to produce a binary
format representing the machine code for an abstract
architecture
• Architecture vary from implementation to implementation
• Generally these virtual machines constitute a simplification
of the underlying hardware instructions and provide some
high-level instructions that map some of the features of the
languages compiled for them
• At run time, the byte code can be either interpreted or
compiled on the fly
Programming language-level
virtualization
Adv:
• Process virtual machines has ability to provide a uniform
execution environment across different platforms.
• Allows more control over the execution of programs since
they do not provide direct access to the memory
• Security- by filtering the I/O operations, the process virtual
machine can easily support sandboxing of applications
• Both Java and .NET provide an infrastructure for pluggable
security policies and code access security frameworks
Disadv:
• Virtual machine programming languages generally expose
an inferior performance compared to languages compiled
against the real architecture
Application-level virtualization
Application-level virtualization
• Technique allowing applications to be run in
runtime environments that do not natively
support all the features required by such
applications
• Applications are not installed in the expected
runtime environment but are run as though they
were.
• Techniques are mostly concerned with partial file
systems, libraries, and operating system
component emulation.
Techniques
Interpretation:
• Every source instruction is interpreted by an emulator for
executing native ISA instructions, leading to poor
performance
• Has a minimal startup cost but a huge overhead, since each
instruction is emulated.
Binary Translation:
• Every source instruction is converted to native instructions
with equivalent functions
• After a block of instructions is translated, it is cached and
reused
• Binary translation has a large initial overhead cost, but over
time it is subject to better performance, since previously
translated instruction blocks are directly executed
Advantages
• Good solution in the case of missing libraries in
the host operating system
• Replacement library can be linked with the
application, or library calls can be remapped to
existing functions available in the host system
• VMM is much lighter since it provides a partial
emulation of the runtime environment compared
to hardware virtualization.
• Allows incompatible applications to run together.
Example
• Wine, which is a software application allowing
Unix-like os to execute programs written for
the Microsoft Windows platform
• Features a software application acting as a
container for the guest application and a set
of libraries, called Winelib
• Developers can use to compile applications to
be ported onUnixsystems.
Other types of virtualization
Storage virtualization
• Allows decoupling the physical organization of
the hardware from its logical representation.
• Users do not have to be worried about the
specific location of their data, which can be
identified using a logical path.
Network virtualization
• Combines hardware appliances and specific software
for the creation and management of a virtual network.
• Can aggregate different physical networks into a single
logical network(external network virtualization)or
provide network-like functionality to an operating
system partition(internal network virtualization).
• A VLAN is an aggregation of hosts that communicate
with each other as though they were located under the
same broadcasting domain.
How it works?
• Internal network virtualization is generally applied
together with hardware and operating system-level
virtualization
• Guests obtain a virtual network interface to
communicate with
• Several options for implementing internal network
virtualization:
– The guest can share the same network interface of the host
and use Network Address Translation (NAT) to access the
network;
– the VMM can emulate, and install on the host, an
additional network device, together with the driver
– the guest can have a private network only with the guest.
Desktop virtualization
• Abstracts the desktop environment available
on a personal computer in order to provide
access to it using a client/server approach
• Provides the same outcome of hardware
virtualization but serves a different purpose
Application server virtualization
• Abstracts a collection of application servers
that provide the same services as a single
virtual application server by using load
balancing strategies and
• Providing a high availability infrastructure for
the services hosted in the application server
Advantages of virtualization
• Managed execution and isolation
– These two allow building secure and controllable
computing environments
– Allocation and fine tuning of resources and their
partitioning among different guests is simplified
• Portability
– VMM is one or more files that can be easily
transported with respect to physical systems
– Java programs compilation only require JVM
– hardware-level virtualization to build own operating
environment within a virtual machine instance and
bring it with us wherever we go
Advantages of virtualization
• Self Containment
– reducing the costs of maintenance
– very limited opportunity for the guest program to damage
the underlying hardware
– fewer VMM with respect to the number of virtual machine
instances
• Ease in Server Consolidation
– to achieve a more efficient use of resources
– Multiple systems coexist and share the resources of the
underlying host
– Consolidation allows adjusting the number of active
physical resources dynamically according to load & creating
the opportunity to save in terms of energy consumption
Disadvantages
• Performance degradation
– increased latencies
– Maintaining the status of virtual processors
– Support of privileged instructions
– Support of paging within VM
• Inefficiency and degraded user experience
• Security holes and new threats
Example 1: Xen-paravirtualization
Xen
• Xen is an open-source initiative
• Virtualization platform based on
paravirtualization
• Developed by a group of researchers at the
University of Cambridge
• Has a large open-source community backing it
• Used for either desktop virtualization or server
virtualization
• Recently used to provide cloud computing
solutions by means of Xen Cloud Platform
• Xen Hypervisor is the core technology of Xen
Features
• Allows high-performance execution of guest
operating systems
• Modifying portions of the guest operating
systems run by Xen
• Not a transparent solution for implementing
virtualization
Xen architecture and guest OS
management
Example 2: Vmware-full
virtualization
VMware
• Well known for the capability to virtualize x86
architectures
• Runs unmodified on top of their hypervisors
A full virtualization reference model
VMware vSphere
• VMware
– Management infrastructure framework
– Virtualizes system, storage, and networking
hardware to create cloud computing
infrastructures
• vSphere- a set of management tools
– Provides a set of services that applications can use
to access cloud resources
VMware workstation architecture
VMware GSX server architecture
VMware Cloud Solution stack
Services
• VMware vCompute: A service that aggregates
servers into an assignable pool
• VMware vStorage: A service that aggregates
storage resources into an assignable pool
• VMware vNetwork: A service that creates and
manages virtual network interfaces
• Application services: Such as HA (High
Availability) and Fault Tolerance
• vCenter Server: A provisioning, management, and
monitoring console for VMware cloud
infrastructures
VMware’s vSphere Cloud
Infrastructure Model
Features
• virtualization layer abstracting memory, and
storage uses the VMware ESX or ESXi
virtualization server
• ESX is a Type 1 hypervisor
• Uses a Linux kernel to boot and installs the
vmkernel hypervisor
• If rebooted, the vmkernel loads first, and then
the Linux kernel becomes the first guest
operating system to run as a virtual machine on
the system and contains the service console
• VMware is a very highly developed infrastructure
VMware ESXi server architecture
Virtual infrastructure elements
SDDC
• The software-defined data center(SDDC)
extends virtualization
from compute to storage and networking resou
rces
• providing a single software toolset to manage
those virtualized resources. It results from years
of evolution in server virtualization.
Components
• Compute virtualization or server virtualization is
well known to many organizations. Using
a hypervisor
• compute virtualization abstracts operating
systems
• applications from physical servers.
• As a result, administrators can use virtual
machines (VMs) to run multiple distinct
applications and operating systems on a single
server.