openstack introduction - compute is a tool to orchestrate a cloud, including running instances,...

40
OpenStack Introduction November 4, 2015

Upload: dinhhanh

Post on 03-May-2018

217 views

Category:

Documents


4 download

TRANSCRIPT

OpenStack IntroductionNovember 4, 2015

Application Platforms Undergoing A Major Shift

What is OpenStack

Open Source Cloud Software

Launched by NASA and Rackspace in 2010

Massively scalable

Managed by the OpenStack Foundation

Rapidly taking over the Cloud world!

Overview of Rackspace

Founded in 1998

Publicly traded on NYSE: RAX

120,000+ customers

$628m revenue in 2009 across two major businesses

Dedicated Managed Hosting

Cloud Infrastructure & Apps (Servers, Files, Sites, Email)

Primary focus on customer service ("Fanatical Support")

3,000+ employees

9 datacenters in the US, UK and Hong Kong

65,000+ physical servers

Rackspace Cloud: 3 Products with Solid Traction

Compute: Cloud Servers

Virtualized, API-accessible servers with root access

Windows & Linux (many distros)

Sold by the hour (CPU/RAM/HDD) with persistent storage

Launched 2009

Based on Slicehost

Xen & XenServer HVs

Storage: Cloud Files

Launched 2008

Object file store

v2.0 in May 2010

PaaS: Cloud Sites

Launched 2006

Formally Mosso

Code it & Load it: .Net, PHP, Python apps autoscaled

OpenStack: The Mission

"To produce the ubiquitous Open Source

cloud computing platform that will meet

the needs of public and private cloud

providers regardless of size, by being simple

to implement and massively scalable."

OpenStack Founding Principles

Apache 2.0 license (OSI), open development process

Open design process, 2x year public Design Summits

Publicly available open source code repository

Open community processes documented and

transparent

Commitment to drive and adopt open standards

Modular design for deployment flexibility via APIs

Community with Broad CommercialSupport

OpenStack: The Open Source Cloud

Operation System

High Level Architecture

What is OpenStack?

An Open Source Set of Cloud Technologies

Compute (codenamed “Nova”) provides virtual serves upon demand

Image (codenamed “Glance”) provides a catalog and repository for virtual disk images. These disk images are mostly commonly used in OpenStack Compute

Dashboard (codenamed “Horizon”) provides a modular web-based user interface for all the OpenStack services. Used to perform most operations like launching an instance, assigning IP addresses and set access controls

Identity (codenamed “Keystone”) provides authentication and authorization for all the OpenStack services.

Object Store (codenamed “Swift”) provides object storage

Block Storage (codenamed “Cinder”) provides persistent block storage to guest VMs.

Network (codenamed “Quantum”) provides “network connectivity as a service” between interface devices managed by other OpenStack services.

OpenStack - Compute

OpenStack Nova Compute -

Introduction

OpenStack Compute is a tool to orchestrate a cloud, including running

instances, managing networks, and controlling access to the cloud through

users and projects.

The underlying open source project’s name is Nova, and it provides the

software that can control an Infrastructure as a Service (IaaS) cloud

computing platform.

It is similar in scope to Amazon EC2 and Rackspace Cloud Servers

OpenStack Compute does not include any virtualization software; rather it

defines drivers that interact with underlying virtualization mechanisms that

run on a host operating system, and exposes functionality over a web-

based API

OpenStack Nova Compute – Message

Queue

Nova-compute is a worker daemon, which primarily creates and terminates

VMs via hypervisor API

OpenStack Nova Compute – Message

Queue

Nova-compute is a worker daemon, which primarily creates and terminates

VMs via hypervisor API

OpenStack Nova Compute –

Supported Hypervisors

The process for selecting a hypervisor usually means prioritizing and making decisions based on budget and resource constraints as well as the list of supported features and required technical specifications

Most development is done on KVM and Xen-based hypervisors

With OpenStack Compute, you can orchestrate clouds using multiple hypervisors in different zones.

KVM

LXC

QEMU

UML

VMWare ESX/ESXi

Xen

Bare Metal

OpenStack – Image Store

OpenStack Glance - Introduction

The Glance project provides services for discovering, registering, and

retrieving virtual machine images. Glance has a RESTful API that allows

querying of VM image metadata as well as retrieval of the actual image

Basically a database and some tools

VM images made available through Glance can be stored in a variety of

locations:

Simple filesystems like ZFS, LVM, etc

Direct attached Storage

Object-storage systems like OpenStack Swift project or S3

Block storage like OpenStack Cinder project

OpneStack Glance – Reference

Architecture

OpenStack - Dashboard

OpenStack Horizon Dashboard -

Introduction

Provides a baseline user interface for managing OpenStack Services

Stateless

Error handling is delegated to backend

Does not support all API functions

Can use memcached or databased to store sessions

Gets updated via nova-api polling

OpenStack Horizon Dashboard –

Reference Architecture

OpenStack Horizon Dashboard -

Example

OpenStack - Security

OpenStack Security Keystone -

Introduction

Keystone provides a single point of integration for OpenStack policy, catalog, token and authentication

Keystone handles API requests as well as providing configurable catalog, policy, token and identify services

Communications via OpenStack Identify API

Each Keystone function has a pluggable backend which allows different ways to use the particular service

Standard backends include LDAP or SQL, as well as Key Value Stores

Most commonly used in delegated authorization deployments

Most people will use this as a point of customization for their current authentication services.

Keystone relationship to other

OpenStack Elements

OpenStack – Keystone Basic Concepts

The identify service has two primary functions

User management: keep track of users and what they are permitted to do

Service catalog: Provide a catalog of what services are available and where

their API endpoints are located

User management

Users – Represents a human user, and has associated information such as

username, password and email

Tenants – A project, group, or organization. Must specify a tenant to make

requests to OpenStack services

Roles – Captures what operations a user is permitted to perform in a given tenant

OpenStack Storage

OpenStack - Introduction

OpenStack Storage - Uses

The two common use cases for providing object storage in a compute

cloud are

To provide users with a persistent storage mechanism

As a scalable, reliable data store for virtual machine images

OpenStack Storage – Swift Key

Features

OpenStack Storage – Swift

Architecture

OpenStack Storage – Swift System

Components

The Ring

Maps names to entities on disk

Uses MD5 hashing for object tags

Stores data on zones, devices, nodes and replicas

Weights can be used to balance the distribution of partitions and nodes

Used by proxy server and storage nodes

Proxy Server

Expose the public API

Make routing requests: read, write, modify, etc.

Object Server

Blob storage server

Uses xattrs, binary format

Object location based on path from name hash and timestamp

OpenStack Storage – Cinder

Architecture

OpenStack Storage Cinder -

Introduction

Cinder separates out the persistent block storage functionality that was

previously part of OpenStack Compute into its own service

The OpenStack Block Storage API allows for manipulation of volumes,

volume types and volume snapshots

Cinder deployments will also make use of a messaging queue to route

information between the cinder processes as well as a database to store

volume state

Like Quantum, Cinder will mainly interact with Nova, providing volumes for

its instances

OpenStack Network

OpenStack Network Quantum -

Introduction

Quantum is an OpenStack project to provide “networking as a service”

between interface devices (e.g., vNICs) managed by other OpenStack

services (e.g., nova)

Start in the Folsom release, Quantum is a core and supported part of the

OpenStack platform

OpenStack Network – Quantum

Deployment

Reference

http://www.slideshare.net/kamesh001/open-stack-101

http://www.slideshare.net/openstackindia/openstack-introduction-

14761434?from_action=save

http://www.slideshare.net/openstack/intro-grizzlyarchv1-

19109550?related=1

http://docs.openstack.org/developer/nova/nova.concepts.html

http://docs.openstack.org/developer/swift/overview_architecture.html

Thank you

Q & A