cloud computing & cloudstack open source

78
Presented By: Ahmad Shah Sultani M.Sc. Computer Science South Asian University New Delhi, India. 01-12-2014

Upload: ahmadshah-sultani

Post on 12-Jul-2015

256 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Cloud Computing & CloudStack Open Source

Presented By: Ahmad Shah SultaniM.Sc. Computer Science

South Asian UniversityNew Delhi, India.

01-12-2014

Page 2: Cloud Computing & CloudStack Open Source

Outline Overview of Cloud Computing

Cloud Computing History

Characteristics of Cloud Computing

Cloud Computing Service Models

Types of Cloud Storage

Virtualization

Advantages & Disadvantages

Open Source Cloud Computing

Cloud Stack

Open Source Cloud Computing

Open Source Hypervisors

CloudStack Open Source Cloud Computing

Deployment Architecture

Management Server

Hypervisor Host

Installation & Configuration

Log in UI Access

Dashboard Screenshots

Goals

Conclusion

References

Page 3: Cloud Computing & CloudStack Open Source

“Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers”

“Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption”

“Cloud computing is Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”

What is Cloud Computing?

Page 4: Cloud Computing & CloudStack Open Source

“Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers”

“Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption”

“Cloud computing is Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”

What is Cloud Computing?

Page 5: Cloud Computing & CloudStack Open Source

“Cloud computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers”

“Cloud computing: A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption”

“Cloud computing is Web-based processing, whereby shared resources, software, and information are provided to computers and other devices (such as smart phones) on demand over the Internet.”

What is Cloud Computing?

Page 6: Cloud Computing & CloudStack Open Source

Continued… “Cloud Computing is a general term used to describe a

new class of network based computing that takes place over the Internet”

LEADING FACET OF NETWORKING- CLOUD COMPUTING

Page 7: Cloud Computing & CloudStack Open Source

when John McCarthy wrote that “computation may someday be organized as a public utility.”Then, grid computing, a concept that originated in the early 1990s as an idea for making computer power as easy to access as an electric power grid also contributed to cloud computing.

The general idea behind the technology dates back to the 1960s,

HISTORY

Page 8: Cloud Computing & CloudStack Open Source

One of the first movers in cloud computing was

Salesforce.com, which in 1999 introduced the concept of delivering enterprise applications via a simple website.

In 2002 Amazon started Amazon Web Services, providing services like storage, computation and even human intelligence.

The year 2006 also saw the introduction of Amazon’s Elastic Compute cloud (EC2) as a commercial web service that allowed small companies and individuals to rent computers on which to run their own computer applications.

Page 9: Cloud Computing & CloudStack Open Source

Then came Google Docs in 2006,

Page 10: Cloud Computing & CloudStack Open Source

But 2009 marked a key turning point in the evolution of cloudcomputing, with the arrival of browser based cloud enterprise applications, with the best known being Google Apps Working on Google Chrome.

Page 11: Cloud Computing & CloudStack Open Source

A Golden Era in Computing..Powerful multi-core processors

General purpose graphic

processors

Superior software methodologies

Virtualization leveraging the

powerful hardware

Wider bandwidth for communication

Proliferation of devices

Explosion of domain

applications

Page 12: Cloud Computing & CloudStack Open Source

Characteristics of Clouds1. On-Demand Self-Service

2. Broad Network Access

3. Resource Pooling

4. Rapid Elasticity

5. Measured Service

6. Per-usage based pricing model

7. IP-based architecture, etc…

Page 13: Cloud Computing & CloudStack Open Source

Cloud Computing Service Models

USER CLOUD a.k.a. SOFTWARE AS A SERVICE

Single application, multi-tenancy, network-based, one-to-many delivery of

applications, all users have same access to features.

Examples: Salesforce.com, Google Docs, Red Hat Network/RHEL

DEVELOPMENT CLOUD a.k.a. PLATFORM-AS-A-SERVICE

Application developer model, Application deployed to an elastic service that

autoscales, low administrative overhead. No concept of virtual machines or

operating system. Code it and deploy it.

Examples: Google AppEngine, Windows Azure, Rackspace Site, Red Hat

Makara

SYSTEMS CLOUD a.k.a INFRASTRUCTURE-AS-A-SERVICE

Servers and storage are made available in a scalable way over a network.

Examples: EC2,Rackspace CloudFiles, OpenStack, CloudStack,

Eucalyptus, Ubuntu Enterprise Cloud, OpenNebula

Page 14: Cloud Computing & CloudStack Open Source
Page 15: Cloud Computing & CloudStack Open Source

Software as a Service (SaaS)SaaS is a software delivery methodology that

provides licensed multi-tenant access to software and its functions remotely as a Web-based service.

Usually billed based on usage

Usually multi tenant environment

Highly scalable architecture

Page 16: Cloud Computing & CloudStack Open Source

SaaS Examples

Page 17: Cloud Computing & CloudStack Open Source

Platform as a Service (PaaS)

PaaS provides all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely from the Internet.

Typically applications must be developed with a particular platform in mind

Multi tenant environments

Highly scalable multi tier architecture

Page 18: Cloud Computing & CloudStack Open Source

PaaS Examples

Page 19: Cloud Computing & CloudStack Open Source

Infrastructure as a Server (IaaS) IaaS is the delivery of technology infrastructure

as an on demand scalable service

Usually billed based on usage

Usually multi tenant virtualized environment

Can be coupled with Managed Services for OS and application support

Page 20: Cloud Computing & CloudStack Open Source

IaaS Examples

Page 21: Cloud Computing & CloudStack Open Source
Page 22: Cloud Computing & CloudStack Open Source

Cloud Storage Cloud storage means "the storage of data online in

the cloud," wherein a company's data is stored in and accessible from multiple distributed and connected resources that comprise a cloud.

Cloud storage can provide the benefits of greater accessibility and reliability; rapid deployment; strong protection for data backup, archival and disaster recovery purposes; and lower overall storage costs as a result of not having to purchase, manage and maintain expensive hardware. However, cloud storage does have the potential for security and compliance concerns.

Page 23: Cloud Computing & CloudStack Open Source

Types of Cloud Storage

1. Public Cloud

2. Private Cloud

3. Hybrid Cloud

Page 24: Cloud Computing & CloudStack Open Source

Public Cloud

A form of cloud storage

where the enterprise and

storage service provider are

separate and the data is

stored outside of the

enterprise's data center.

Page 25: Cloud Computing & CloudStack Open Source

Private Cloud The phrase used to describe a cloud

computing platform that is implemented

within the corporate firewall, under the

control of the IT department.

A private cloud is designed to offer the

same features and benefits of public

cloud systems, but removes a number of

objections to the cloud computing

model including control over enterprise

and customer data, worries about

security, and issues connected to

regulatory compliance.

Page 26: Cloud Computing & CloudStack Open Source

Hybrid Cloud A combination of public cloud

storage and private cloud storage

where some critical data resides

in the enterprise's private cloud

while other data is stored and

accessible from a public cloud

storage provider.

Page 27: Cloud Computing & CloudStack Open Source
Page 28: Cloud Computing & CloudStack Open Source

Virtualization

Virtualization is “something which is not REAL, but displays the full qualities of the REAL”.

Virtualization : • hardware platform, • operating system, • storage device,• network resources,• Software implementation.

Page 29: Cloud Computing & CloudStack Open Source

Virtualization

Hardware

Operating System

App App App

Traditional Stack

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

Page 30: Cloud Computing & CloudStack Open Source

Virtualization

Types of Virtualization

Hardware Virtualization

Desktop Virtualization

Page 31: Cloud Computing & CloudStack Open Source

Virtualization

In hardware virtualization, the host machine is the actual machine on which the virtualization takes place, and the guest machine is the virtual machine. The words host and guest are used to distinguish the software that runs on the actual machine from the software that runs on the virtual machine. The software or firmware that creates a virtual machine on the host hardware is called a hypervisor or Virtual Machine Manager.

Hardware virtualization

Page 32: Cloud Computing & CloudStack Open Source

Desktop virtualization (sometimes called client virtualization) is a concept which separates a personal computer desktop environment from a physical machine using the client–server model of computing.

Desktop virtualization

Page 33: Cloud Computing & CloudStack Open Source
Page 34: Cloud Computing & CloudStack Open Source

500

625700

810

1000

1300

300

600

900

1200

1500

2012 2013 2014 2015 2016 2017

Cloud Storage Subscriber Numbers

Million

Forecast

Source: Institute of Engineering and Technology, IHS © Graphic News

Trends of Cloud Computing

Page 35: Cloud Computing & CloudStack Open Source

Core Advantages Cost saving: You pay for what you use

Easy on installation and maintenance

Increased storage

Highly automated

Flexibility

Better mobility

Shared resources

Back up and restoration

Page 36: Cloud Computing & CloudStack Open Source

Disadvantages Data security and privacy

Network connectivity and bandwidth

Service unavailability due to power outage

Dependence on outside agencies

Limited flexibility

Knowledge and integration

Long term stability of service provider

Page 37: Cloud Computing & CloudStack Open Source

Building Compute Cloudswith Open Source Software

Page 38: Cloud Computing & CloudStack Open Source

Why Open Source? User-Driven Solutions to Real Problems

Lower barrier to participation

Larger user base, users helping users

Aggressive release cycles stay current with the state-of-the-art

Open data, Open standards, Open APIs

Page 39: Cloud Computing & CloudStack Open Source

Open Virtual Machine FormatsOpen Virtualization Format (OVF) is an open standard for packaging and distributing virtual appliances or more generally software to be run in virtual machines.

Formats for hypervisors/cloud technologies:

• Amazon - AMI• KVM – QCOW2• VMware – VMDK• Xen – IMG• VHD – Virtual Hard Disk - Hyper-V

Page 40: Cloud Computing & CloudStack Open Source

Open Source HypervisorsOpen Source Xen, Xen Cloud Platform (XCP)

KVM – Kernel-based Virtualization

VirtualBox* - Oracle supported Virtualization Solutions

OpenVZ* - Container-based, Similar to Solaris Containers or BSD Zones

LXC – User Space chrooted installs

Proprietary VMware

Citrix Xenserver

Microsoft Hyper-V

OracleVM (Based on OS Xen)

Page 41: Cloud Computing & CloudStack Open Source

Open Source Compute Clouds

Year Started License Hypervisors Supported

2008 GPL Xenserver, Xen Cloud Platform, KVM, VMware

2006 GPL Xen, KVM, VMware

2010 (Developed by NASA by AnsoLabs previously)

Apache VMware ESX and ESXi, Microsoft Hyper-V, Xen, KVM and Virtual Box

Other open source compute software include Abiquo, Red Hat’s CloudForms and OpenNebulaNumerous companies are building cloud software on OpenStack including Nebula, Piston Inc., CloudScaling

Page 42: Cloud Computing & CloudStack Open Source

CloudStack Open SourceCloud Computing

Apache CloudStack is open source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.

CloudStack is used by a number of service providers to offer public cloud services, and by many companies to provide an on-premises (private) cloud offering, or as part of a hybrid cloud solution.

Provides a friendly Web-based UI for managing the cloud.

Page 43: Cloud Computing & CloudStack Open Source

CloudStack currently supports the most popular hypervisors:

VMware, KVM, XenServer, Xen Cloud Platform (XCP) and Hyper-V.

Users can manage their cloud with an easy to use Web interface, command line tools, and/or a full-featured RESTful API.

Apache CloudStack is a mature, turnkey integrated Infrastructure-as-a-Service (IaaS) Open Source software platform that allows users to build feature-rich public and private cloud environments.

Page 44: Cloud Computing & CloudStack Open Source

Choosing a Deployment Architecture

Page 45: Cloud Computing & CloudStack Open Source

Choosing a Deployment Architecture

Page 46: Cloud Computing & CloudStack Open Source

Small Scale CloudStack Deployment A firewall provides a connection

to the Internet. The firewall is configured in NAT mode. The firewall forwards HTTP requests and API calls from the Internet to the Management Server. The Management Server resides on the management network.

A layer-2 switch connects all physical servers and storage.

A single NFS server functions as both the primary and secondary storage.

The Management Server is connected to the management network.

Page 47: Cloud Computing & CloudStack Open Source

Deployment Architecture Overview The minimum installation

consists of one machine running the CloudStack Management Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure consisting of one host running hypervisor software).

In its smallest deployment, a single machine can act as both the Management Server and the hypervisor host (using the KVM hypervisor).

Page 48: Cloud Computing & CloudStack Open Source

Management Server Provides the web interface for both the administrator and

end user.

Provides the API interfaces for both the CloudStack API as well as the EC2 interface.

Manages the assignment of guest VMs to a specific compute resource

Manages the assignment of public and private IP addresses.

Allocates storage during the VM instantiation process.

Manages snapshots, disk images (templates), and ISO images.

Provides a single point of configuration for your cloud.

Page 49: Cloud Computing & CloudStack Open Source

Hypervisor Host A host is a single computer.

Hosts provide the computing resources that run guest virtual machines.

Each host has hypervisor software installed on it to manage the guest VMs. For example, a host can be a Citrix XenServer server, a Linux KVM-enabled server, an ESXi server, or a Windows Hyper-V server.

For a host to function in CloudStack, you must do the following:

Install hypervisor software on the host

Assign an IP address to the host

Ensure the host is connected to the CloudStack Management Server.

Page 50: Cloud Computing & CloudStack Open Source

Installation Overview of

Installation Steps

Choosing a Deployment Architecture

Choosing a Hypervisor: Supported Features

Network Setup

Storage Setup

Best Practices

Minimum System Requirements

Management Server, Database, and Storage System Requirements

Host/Hypervisor System Requirements

Page 51: Cloud Computing & CloudStack Open Source

Management Server Installation Prepare the Operating System

Turn on NTP for time synchronization.

Install NTP and Turn on NTP for time synchronization.

Downloading vhd-util

Installing the required packages

DEB package repository

Install the database server

Set up the database

Prepare NFS Shares

Using the Management Server as the NFS Server

Prepare the System VM Template

Setup Complition

Page 52: Cloud Computing & CloudStack Open Source

Host Hypervisor Installation and Configuration Prepare the Operating System

Install NTP and Turn on NTP for time synchronization.

Install and configure the Agent Configure CPU model for KVM guest Install and Configure libvirt Configure the Security Policies Configure the network bridges Configuring the firewall Open ports in RHEL/CentOS OR Ubuntu Add the host to CloudStack

Page 53: Cloud Computing & CloudStack Open Source

Log In to the UI (User Interface) 192.168.12.240:8080/client > Ubuntu 14.4

192.168.12.200:8080/client > CentOS 6.5 Minimal

192.168.12.199:8080/client > CentOS 6.5 Live

Page 54: Cloud Computing & CloudStack Open Source
Page 55: Cloud Computing & CloudStack Open Source
Page 56: Cloud Computing & CloudStack Open Source
Page 57: Cloud Computing & CloudStack Open Source
Page 58: Cloud Computing & CloudStack Open Source
Page 59: Cloud Computing & CloudStack Open Source
Page 60: Cloud Computing & CloudStack Open Source
Page 61: Cloud Computing & CloudStack Open Source
Page 62: Cloud Computing & CloudStack Open Source
Page 63: Cloud Computing & CloudStack Open Source
Page 64: Cloud Computing & CloudStack Open Source
Page 65: Cloud Computing & CloudStack Open Source
Page 66: Cloud Computing & CloudStack Open Source
Page 67: Cloud Computing & CloudStack Open Source
Page 68: Cloud Computing & CloudStack Open Source
Page 69: Cloud Computing & CloudStack Open Source
Page 70: Cloud Computing & CloudStack Open Source
Page 71: Cloud Computing & CloudStack Open Source
Page 72: Cloud Computing & CloudStack Open Source
Page 73: Cloud Computing & CloudStack Open Source
Page 74: Cloud Computing & CloudStack Open Source
Page 75: Cloud Computing & CloudStack Open Source

Goals To Successfully, build the Cloud Platform

To Analyse the Performance of the different platforms

To Develop Applications on the cloud.

Page 76: Cloud Computing & CloudStack Open Source

Conclusion Cloud Computing is outpacing the IT industry Real business value can be realized by customers of all sizes Cloud solutions are simple to acquire, don’t require long

term contracts and are easier to scale up and down as needed

Proper planning and migration services are needed to ensure a successful implementation

Public and Private Clouds can be deployed together to leverage the best of both

Third party monitoring services ensure customer are getting the most out of their cloud environment

Security Compliance and Monitoring is achievable with careful planning and analysis

Page 77: Cloud Computing & CloudStack Open Source

References & Useful links• Apache Cloud Stack: http://cloudstack.apache.org/• Amazon AWS: http://aws.amazon.com/free/• AWS Cost Calculator:

http://calculator.s3.amazonaws.com/calc5.html• Windows Azure: http://www.azurepilot.com/• Google App Engine (GAE):

http://code.google.com/appengine/docs/whatisgoogleappengine.html

• Graph Analytics: http://www.umiacs.umd.edu/~jimmylin/Cloud9/docs/content/Lin_Schatz_MLG2010.pdf

• For miscellaneous information: http://www.cse.buffalo.edu/~bina

Page 78: Cloud Computing & CloudStack Open Source