You are on page 1of 38

Cloud as IaaS

Rajendar.K
CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING,
CHENNAI

Agenda
Essential building blocks of Cloud

Cloud Service Model


Cloud Deployment model
Overview on Cloud Softwares
Opennebula
Nimbus
UEC
OpenStack
Eucalyptus
Eualyptus Architecture
Eucalyptus Components

Eucalyptus Configuration Setup

Building blocks

Measured
Service

Resource
pooling

On-demand
Self service

Rapid Elasticity

Broad Network
Access

Open source cloud software


Extensibility
Client-side interface
Networking
Security
Packaging, installation and maintenance

Cloud Service model

Cloud Service model


Software as a Service (SaaS)
Software-as-a-Service provides complete applications to a clouds end user.
It is mainly accessed through a web portal and service oriented architectures
based on web service technologies. The consumer does not manage or control
the underlying cloud infrastructure including network, servers, operating systems
and storage.

Platform as a Service (PaaS)


PaaS comprises the environment for developing and provisioning cloud
applications. The principal users of this layer are developers seeking to develop
and run a cloud application for a particular platform. The consumer does not
manage or control the underlying cloud infrastructure including network, servers,
operating systems, or storage, but has control over the deployed applications and
possibly configuration settings for the application-hosting environment.

Infrastructure as a Service (IaaS)


IaaS provide resources include services linked to computing resources, data
storage resource and network. Users can demand resources abstracted by
virtualization specifying CPU, RAM, storage and operating systems.

Cloud Deployment model


Private cloud
The cloud infrastructure is operated completely for an individual
organization. It may be owned, managed, and operated by the organization or a
third party.
Community cloud
The cloud infrastructure is shared by several organizations and supports a
specific community that has shared concerns (e.g., mission, security
requirements, policy, and compliance considerations).
Public cloud
The cloud infrastructure is made available to the general public or a large
industry group and owned by an organization selling cloud services.
Hybrid cloud
The cloud infrastructure is a composition of two or more clouds (private,
community, or public) that remain unique entities but are bound together by
standardized or proprietary technology that enables data and application
portability

Overview on Cloud Software

OpenNebula
Origin:
Research project by Ignacio M. Llorente and Rubn S. Montero

Core Technology:
C++, Ruby, JAVA and XMLRPC API
Features:
Support multiple hypervisor Xen, KVM and VMware
Support for Microsoft Windows and Linux machine images
Flexible requirement/rank matchmaker scheduler; and workload and
resource-aware allocation policies
Support for multiple hardware platforms (FibreChannel, iSCSI, NAS
shared storage)
Public cloud offering by REST interfaces
Implementation of OGF OCCI and Amazon EC2

OpenNebula - Architecture

UEC
Origin :
Ubuntu Enterprise Cloud (UEC) is a package stack of applications
from Canonical (best with an Ubuntu server).

Features:
UEC includes a number of open source tools to manage the
infrastructure, including open source cloud software Eucalyptus.
KVM support
Interface compatibility with EC2
Simple installation and deployment
Basic administrative tools for system management and
user accounting

Nimbus
Origin:
University of Chicago
Core Technology:
Java and Python

Features:
Support for WSRF based or Amazon EC2 WSDL web service APIs
Can be configured to use familiar schedulers like PBS or SGE
self-configuring virtual clusters via contextualization
Workspace - standalone site VM manager
OGSA Based : Infrastructure services, Execution Management,
Data Services, Resource Management Services, Security
Services, Self- management Services, Information Services
Per-client usage tracking and quota

OpenStack
Origin:
Project by Rackspace cloud & NASA, Intel & AMD
Core Technology:
Python
Features:
Openstack Compute for managing Virtual machines (Nova)
Openstack Object storage for creating reduntant, scalable data
storage (swift)
Openstack Imaging Service for discovery, registration and
delivery services for virtual disk images (Glance).
Graphical user interface (Horizon)
Hypervisor support includes ESX, Hyper-V, KVM, Xen, and
XenServer/XCP

OpenStack services
horizon
nova-api
rabbit-mq

nova-compute
nova-volume
nova-network

rdbms

nova-scheduler

hypervisor

swift-account

VM

swift-container

VM

swift-object

VM
VM

swift-proxy

VM

glance-control

VM

glance-registry

keystone: identity, token, catalog, policy

CloudStack
Origin:
CloudStack was proposed by Citrix to the Apache Software Foundation

Core Technology:
Java, Shell script, Python

Features:
VMware, KVM, XenServer and Xen Cloud Platform (XCP).
Compute orchestration, Network-as-a-Service, user and account
management, a full and open native API, resource accounting, and a

User Interface (UI).


Users can manage their cloud with an easy to use Web interface,
command line tools, and/or a full-featured RESTful API.
CloudStack provides an API that's compatible with AWS EC2 and S3 for
deploy hybrid clouds.

CloudStack - Components
Zone
Pod
Cluster

Host

Primary storage

Secondary storage

Eucalyptus
Origin:
Research project in the Computer Science Department at the
University of California, Santa Barbara.
Overview:
Elastic Utility Computing Architecture Linking Your Programs To
Useful Systems.
Provides a highly robust and scalable Infrastructure as a Service
solution.
Compatible with Amazon AWS (EC2, S3, EBS) - SOAP and REST
interfaces
Runs on multiple Linux distributions and supports Xen and KVM
hypervisors.
Ability to configure multiple clusters, each with private internal
network addresses, into a single Cloud.

Eucalyptus Architecture

Cloud Controller
Cloud Controller (CLC) is the front end to the entire cloud infrastructure.
CLC provides an EC2/S3 compliant web services interface to the client
tools.
CLC interacts with all the components of the Eucalyptus in managing
the cloud infrastructure.

Functions
Monitor the availability of resources on various components of the cloud
infrastructure, including hypervisor nodes that are used to actually provision
the instances and the cluster controllers that manage the hypervisor nodes
Deciding which clusters will be used for provisioning the instances
Monitoring the running instances.

Cluster Controller
CC manages one or more Node Controllers and deploys/manages
instances on them
CC also manages the networking for the instances running on the
Nodes under certain types of networking modes of Eucalyptus

Functions
To receive requests from Cloud controller to deploy instances

To decide which NCs to use for deploying the instances on


To control the virtual network available to the instances
To collect information about the NCs registered with it and report
it to the Cloud controller

Storage Controller (SC)


SC provides persistent block storage for use by the instances.
SC is similar to the Elastic Block Storage (EBS) service from AWS.

Functions
Creation of persistent EBS devices
Providing the block storage over AoE or iSCSI protocol to the
instances
Allowing creation of snapshots of volumes

Node Controller
Node Controller runs on each node and controls the life cycle of

Instances running on the node.


It interacts with the OS and the hypervisor running on the node
and the Cluster Controller (CC).

Functions
Collection of data related to the resource availability and
utilization on the node and rreporting the data to CC
Instance life cycle management.

Walrus

Walrus provides a persistent simple storage service using REST and


SOAP APIs compatible with S3 APIs.

Functions
Storing the machine images
Storing snapshots

Storing and serving files using S3 API

Sample Deployment of Eucalyptus services

Similarity with Amazon and Eucalyptus

Eucalyptus Installation
Installing Eucalyptus from source
Prerequisites for compiling from source (C compilers, Java

Developer Kit (SDK) version 1.6 or above, Apache ant 1.6.5 or


above, libc development files, pthreads development files,
libvirt development files, Axis2C and rampart development files,
Curl development files, openssl development files
Install and Build Eucalyptus Dependencies (Axis2, Axis2/C,
Rampart/C)
Install and Build Eucalyptus
Configure Eucalyptus

Configuring Node Controller


Configure NC

Set up a 'eucalyptus' user


Configure your hypervisor
Configure your network

Start Eucalyptus node service

Networking Mode
System mode
assigns a random MAC address to the VM instance before booting
and attaches the VM instance's Ethernet device to the physical
Ethernet
VM instances typically obtain an IP address using DHCP

Static mode
administrator configures Eucalyptus with a 'map' of MAC address/IP
Address pairs

Managed mode
maintain a DHCP server with static mappings for each VM instance
that is created
allows Eucalyptus expose a capability similar to Amazon's 'security
groups
VLAN
No-VLAN mode

Network comparison

Images and Management


Managing Eucalyptus Images
Adding Images (Bundling, Registering, Uploading)
Associating kernels and ramdisks with images
Deleting Images

Web-Based Management
Credentials
User Management

Accessing Eucalyptus & instances


Euca2ools Command line interface
Manage a VM Instance
Create
Reboot
Terminate
Authorizing Security Groups and Allocating IPs

Logging into a VM Instance


Cloud Information

Third party tools to access Eucalyptus


HybridFox
ElasticFox
Cloud42

Eucalyptus Screenshots

Eucalyptus VM types

Eucalyptus - Available zones

Eucalyptus - Image registration process


(i) euca-bundle-image -i vmlinuz-2.6.32-28-generic --kernel true
(ii) euca-upload-bundle -b mybucket -m /tmp/vmlinuz-2.6.32-28-generic.manifest.xml
(iii) euca-register mybucket/vmlinuz-2.6.32-28 generic.manifest.xml

Eucalyptus - Running instances

Questions?

Thank You

You might also like