cloud computing & cloudstack open source

Post on 12-Jul-2015

256 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Presented By: Ahmad Shah SultaniM.Sc. Computer Science

South Asian UniversityNew Delhi, India.

01-12-2014

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

“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?

“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?

“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?

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

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

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.

Then came Google Docs in 2006,

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.

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

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…

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

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

SaaS Examples

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

PaaS Examples

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

IaaS Examples

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.

Types of Cloud Storage

1. Public Cloud

2. Private Cloud

3. Hybrid Cloud

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.

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.

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.

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.

Virtualization

Hardware

Operating System

App App App

Traditional Stack

Hardware

OS

App App App

Hypervisor

OS OS

Virtualized Stack

Virtualization

Types of Virtualization

Hardware Virtualization

Desktop Virtualization

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

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

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

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

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

Building Compute Cloudswith Open Source Software

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

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

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)

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

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.

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.

Choosing a Deployment Architecture

Choosing a Deployment Architecture

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.

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).

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.

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.

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

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

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

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

Goals To Successfully, build the Cloud Platform

To Analyse the Performance of the different platforms

To Develop Applications on the cloud.

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

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

top related