OpenStack Project

A Primer

Jesse Keating

@iamjkeating

OpenStack

what it is

Infrastructure as a Service

Compute

Networking

Images

Storage

Public Cloud / Private Cloud / Hybrid

Open Source

Python

Community Project

OpenStack

interfaces

OpenStack

projects

Nova

  • provision and manage compute resources
  • network allocation
  • virtual machine image management
  • usage and resource quotas

Glance

  • Store and fetch boot images
  • Proxy to external sources

Neutron

  • IP allocations
  • SDN interactions
  • Floating IPs
  • Security groups separation

Cinder

  • Block storage resources
  • Interact with existing SANS
  • Snapshots

Swift

  • Object storage resources
  • Data access via API / CDN
  • Scale out commodity hardware

Keystone

  • Identity management
  • RBAC
  • Integration into existing directory

Horizon

  • Dashboard
  • End user interface
  • Cloud operator interface

OpenStack

integration

REST APIs

RPC Messaging

Database state storage

Client gets auth token from Keystone

Client calls Nova REST API

Nova API validates Keystone token

Nova API makes DB entry for instance and returns instance ID to client

Nova API puts message on bus for scheduler

Scheduler queries DB for available compute resources

Scheduler puts message on bus for compute

Compute puts message on bus for Conductor to fetch DB info

Conductor fetches DB info and returns it to Compute in bus message

Glance validates compute's creds

Glance returns image details

Compute makes REST call to Neutron to get network config

Neutron validates compute's creds

Neutron returns network details

Compute compiles data into format for HV and executes

Compute puts message on bus for Conductor to write DB info for instance

Client makes REST calls to track instance build data

Compute makes REST call to Glance for requested image

OpenStack

project structure

Each project has own git repository

Changes gated by Gerrit

Core reviewers and automated CI

Community elected PTL for decisions

Launchpad for issue tracking

Major releases every 6 months

Stable branches with three phases for 18 month lifespan

Light barrier to entry

Large conferences every 6 months

Small subject mid-cycle meetups

OpenStack

how to get it

Public Clouds

  • Rackspace Public Cloud
  • HP Helion Public Cloud
  • Dreamhost Dreamcompute
  • http://www.openstack.org/marketplace/public-clouds/

Hosted Private Clouds

  • Blue Box Cloud
  • Mirantis OpenStack Express
  • Rackspace Private Cloud
  • Ubuntu Bootstack
  • http://www.openstack.org/marketplace/hosted-private-clouds/

Host your own Private Cloud

  • Red Hat RDO
  • Mirantis OpenStack
  • Rackspace Private Cloud Software
  • Cisco OpenStack Private Cloud
  • SwiftStack Object Storage Platform
  • Blue Box Ursula
  • Stackforge Ansible OpenStack Deployment
  • http://www.openstack.org/marketplace/distros/

Private Cloud Consulting

  • http://www.openstack.org/marketplace/consulting/

OpenStack

learn more

http://docs.openstack.org/

#openstack-* on freenode IRC

openstack-* mailing lists

openstack meetups​
http://www.meetup.com/OpenStack-Seattle/

OpenStack

get hired

Blue Box OpenStack Eng

Public Job Board

  • http://www.openstack.org/community/jobs/

Thanks

@iamjkeating

One More Thing

OpenStack - a primer

By Jesse Keating

OpenStack - a primer

An introduction to OpenStack cloud software

  • 2,161