Top Banner
OpenStack Introduction November 4, 2015
40

OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

May 03, 2018

Download

Documents

dinhhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack IntroductionNovember 4, 2015

Page 2: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

Application Platforms Undergoing A Major Shift

Page 3: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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!

Page 4: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 5: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 6: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 7: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 8: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

Community with Broad CommercialSupport

Page 9: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack: The Open Source Cloud

Operation System

Page 10: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

High Level Architecture

Page 11: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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.

Page 12: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack - Compute

Page 13: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 14: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Nova Compute – Message

Queue

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

VMs via hypervisor API

Page 15: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Nova Compute – Message

Queue

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

VMs via hypervisor API

Page 16: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 17: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack – Image Store

Page 18: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 19: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpneStack Glance – Reference

Architecture

Page 20: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack - Dashboard

Page 21: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 22: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Horizon Dashboard –

Reference Architecture

Page 23: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Horizon Dashboard -

Example

Page 24: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack - Security

Page 25: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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.

Page 26: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

Keystone relationship to other

OpenStack Elements

Page 27: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 28: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Storage

Page 29: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack - Introduction

Page 30: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 31: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Storage – Swift Key

Features

Page 32: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Storage – Swift

Architecture

Page 33: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 34: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Storage – Cinder

Architecture

Page 35: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 36: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Network

Page 37: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 38: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

OpenStack Network – Quantum

Deployment

Page 39: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

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

Page 40: OpenStack Introduction - Compute is a tool to orchestrate a cloud, including running instances, managing networks, ... supported features and required technical specifications ·

Thank you

Q & A