3. What is cloud computing?
In General,
› A simple metaphor for the internet, based on the
symbol used to represent the worlwide network in
computer network diagrams
In technical terms
› 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.[*]
* The NIST Definition of Cloud Computing by Peter Mell, Timothy
Grance, Sep 2011
5. Architectural Layers of Cloud Computing
› Software as a service (SaaS)
Offers a complete application as a service on demand
A single instance of software runs on cloud and provides
service to multiple end users or organizations
Examples are Google apps, salesforce.com etc.
› Platform as a service (PaaS)
Encapsulates a layer of software and provides it as
service which is used to build higher-level services
Consumers creates the software using tools and libraries
from the provider
Consumer controls deployment and configuration
settings
Provider provides networks, servers and storage
Example, Google Apps Engine
6. Architectural Layers of Cloud Computing
(cont)
› Infrastructure as a service (IaaS)
Most basic cloud service model
Provider provides computers (physical or a virtual
machine), storage, firewalls, and networks
Provider provides these facilities on demand
Consumer is responsible for maintaining
application software and operating system
Cloud provider bill the consumer on the basis of
amount of resources allocated and consumed
7. Cloud Computing Infrastructure Model
› Public Clouds
Run by third parties
Resources like applications and storage is available to
general public over internet for free or on a pay-per-
usage model
› Private Clouds
Build for exclusive use of one client
Provides utmost control over data, security and QoS
Provides access to external resources through web
services
› Hybrid Clouds
Hybrid cloud uses local infrastructure with cloud
computing capacity from public cloud
8. Cloud ecosystem consists of :
1. Cloud Consumers
2. Cloud Management
Used for controlling and monitoring of virtualized
resources
Contains cloud toolkits like, Amazon EC2, Globus
Nimbus and Eucalyptus
3. Virtual Infrastructure Management
Used for schedule and manage virtual machines
across multiple hosts
It contains tools like OpenNebula, Vmware vSphere
for infrastructure management
4. Virtual Machine Manager
Xen, KVM, Vmware etc
9.
10. What is virtualization?
› Virtualization is the creation of virtual (instead
of actual ) version of something, such as an
operating system, a server, a storage device
or network resources.[*]
* Definition from whatis.com
11. Types of Virtualization
1. Server Virtualization
2. Storage Virtualization
3. Network I/O virtualization
12. Server Virtualization
› There are three popular approaches to
server virtualization
1. Virtual Machine Model
Based on host/guest pradigm
Each guest runs on a virtual imitation of hardware
layer
Guest operating systems runs without modification
Guest requires real computing resources therefore
it uses a virtual machine monitor (VMM) to
coordinate instructions to cpu
Examples are VMware and Microsoft Virtual server
13. Server Virtualization (cont)
2. Paravirtual machine Model
Based on host/guest model
Uses VMM
VMM can access and modify the guest operating
system code. This modification is called Porting
Paravirtual machines are capable of running
multiple operating systems
Examples are, Xen and UML
14. Server Virtualization (cont)
3. Virtualization at operating system layer
Host runs a single OS kernel as its core and exports
operating system functionality to each of the
guest
Guest must use the same operating system as the
host
Different distributions of same system are allowed
Common binaries and libraries of host are shared
in this model, allowing thousands of guest to host
at the same time
Examples are, OpenVZ and Linux-Vserver
15. Storage Virtualization
› Pooling of physical storage from multiple
network storage devices into single storage
device
› Storage pool is managed from a central
console
› Used in Storage Area Network (SAN)
› Storage virtualization helps in
backup, archiving and recovery more easily
and in less time
16. Network I/O Virtualization
› Virtual machines are logical computing
entities on a physical computers
› VMs are realized on top of virtualization
software layer that presents abstraction of
the underlying physical resources
› Network I/O virtualization provides multiple
VMs to share common bandwidth and
network links
17. Network I/O virtualization (cont)
› Network bridging
Network bridging is the first step in network
virtualization
18. Network I/O virtualization (cont)
› To address the complexity and performance
issues following hardware and software
oriented approaches are used
1. NIC Bonding
Software oriented
Hardware
1. Virtual Machine Device Queues (VMDq) oriented
2. Single Root I/O Virtualization (SR-IOV)
19. Network I/O virtualization (cont)
› Nic Bonding
Software oriented approach
It groups multiple physical
network links and provide the
Network bandwidth as an
aggregate logic to the VMs
20. Network I/O virtualization (cont)
› Virtual Machine Device Queues (VMDq)
Hardware oriented approach
It is implemented at chipset level
VMDq handles parallel queues of packets and
routes them to appropriate VM
Network throughput can reach up to 9.5Gbps
compared to 4Gbps without VMDq
21. Network I/O Virtualization (cont)
› Single Root I/O Virtualization (SR-IOV)
It is a feature of Peripheral component
Interconnect (PCI)
Multiple VMs running on a single computer
can share natively a single PCI device
This feature helps reducing overheads in
resource sharing and overheads in controlling
network I/O virtualization
22. Network I/O Virtualization
› Challenges
1. Each host has hundreds of VMs and VNICs
which increases complexity and
management of each host
2. Complexity of packet multiplexing.
3. The ever increasing line rate. A line rate of
10Gbps or more at host is expected which
can add workload at the host cpu
23. Network I/O virtualization (cont)
› Virtual Switching with Intelligent NICs
Each NIC has its own packet processor
Offloads the processing work from CPU
24. Provide a uniform and homogenous view of
virtualized resources, regardless of
virtualization platform
Manage VMs lifecycle
Setting up networks dynamically for group
of VMs
Managing storage requirements
Support resource allocation to meet
organization’s specific goals
Adapt to organization’s changing resource
needs
25. OpenNebula
› To control VM’s life cycle, the OpenNebula
core orchestrates three different
management areas:
1. Image and storage technologies
Virtual tools for preparing disk images for VMs
2. The network fabric
DHCP servers, firewalls and switches
3. Underlying hypervisors
For creating and controlling VMs
26. OpenNebula (cont)
› The OpenNebula core also supports service
deployment
Services typically include set of interrelated
components requiring several VMs
› The core handles the delivery of context
information
Web server’s IP address, digital certificates and
software licenses
27. OpenNebula (cont)
› A separate scheduler component makes VM
placement decisions
Creating and updating resource schedule and
sending appropriate deployment command
to OpenNebula core
The default scheduler provides a rank
scheduling policy that places VMs on physical
resources according to ranking algorithm that
the administrator can configure
It relies on real time data from both the running
VMs and available physical resources
28. OpenNebula (cont)
› OpenNebula can support a hybrid cloud
model
Uses cloud drivers to interface with external
clouds
It helps organizations supplement the local
infrastructure with computing capacity from
public cloud to meet peak demands
Includes EC2 driver which can submit requests
to Amazon EC2 and Eucalyptus and also
includes ElasticHosts driver
30. The Haizea lease Manager
› Open source resource lease manager
› Can act as a VM scheduler for OpenNebula
› Simulator to evaluate different scheduling strategies
performance over time
› Haizea provides resources to users on lease terms
› Haizea supports advance reservation lease in which
resources must be available at a specific time
› Best effort lease in which resources are allocated as
soon as possible
› Immediate lease in which resources are provisioned
when requested.
31. Comparison of tools providing VIM capabilities
Tool Provisioning Default Placement Policies Configurable Support For hybrid Cloud Remote
Model Placement Interface
Policies s
Amazon Best Effort Proprietary Proprietary No EC2 Web
EC2 services
API
VMware Immediate Initial placement on CPU No Only when both the local vCloud
vSphere load and dynamic and external cloud use API
placement to balance vSphere
average CPU or memory
load and consolidate servers
OpenNebul Best-effort Initial placement based on Support for any Driver-based architecture No
a 1.2 requirement/rank policies to static/dynamic allows interfacing with
prioritize those resources placement multiple external clouds;
more suitable for the virtual policy supports EC2-compatible
machine (VM) using dynamic clouds and ElasticHosts
information and dynamic
placement to consolidate
servers
OpenNebul Immediate, Dynamic placement to VM placement Driver-based architecture No
a 1.2/ best-effort, implement AR leases strategies allows interfacing with
Haizea and supporting multiple external clouds;
advance queues and supports EC2-compatible
reservation priorities clouds and ElasticHosts
(AR)
32. As private and hybrid IaaS clouds
grows, the need for a diverse ecosystem of
tools and technologies to create and
manage clouds also grows
Private and hybrid clouds will also face the
challenge of efficiently managing finite
resources
Virtualization leads to better resource
utilization
Increase performance
33. Network I/O virtualization for cloud computing, by Yan
Lou, University of Massachusetts Lowell
Virtual Infrastructure Management in Private and Hybrid
Clouds, by Borja Sotomayor, Unv. Of Chicago, Ruben S.
Montero and Ignacio M.Liorente, Universidad
Complutense de Madrid and Ian Foster, Argonne
National laboratory, Unv. Of Chicago
Introduction to Cloud Computing Architecture, white
paper, 1st Edition, June 2009, by Sun Microsystem
NIST definition of Cloud Computing by Peter Mell and
Timothy Grance, September 2011