• No results found

Snakes on a cloud. A presentation of the OpenStack project. Thierry Carrez Release Manager, OpenStack

N/A
N/A
Protected

Academic year: 2021

Share "Snakes on a cloud. A presentation of the OpenStack project. Thierry Carrez Release Manager, OpenStack"

Copied!
43
0
0

Loading.... (view fulltext now)

Full text

(1)

Snakes on a cloud

A presentation of

the OpenStack project

Thierry Carrez

Release Manager, OpenStack

(2)

Cloud ?

(3)

Buzzword

(4)

End-user services

Software as a Service (SaaS)

(5)

End-user services

Online storage / streaming

(6)

Backend services

Raw compute / storage resources (IaaS)

(7)

Backend services

Deployment platforms (PaaS)

(8)
(9)

Open source cloud

(10)

OpenStack project genesis

Cloud servers

Cloud files

Open source

(11)

NovaCC

Open source

OpenStack project genesis

(12)

Cloud servers

Cloud files

Open source

Nova (compute)

Swift (storage)

NovaCC

Open source

OpenStack project genesis

(13)

Mission statement

“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.”

(14)

Open

Open source

Open design

Open development

Open community

(15)

A young project

03 05 06 07 10 02 04 2010 2011

Decision to open source Rackspace Cloud

NASA open sources Nebula platform OpenStack formed

First design summit in Austin

First release (codenamed « Austin »)

« Bexar » released

« Cactus » released

(16)

100 developers

(17)

Design and coding standards

Scalability and elasticity

Asynchronous

Horizontally scalable

Share-nothing (or sharding)

Distribute everything

Accept eventual consistency

Test everything

Enforce PEP-8

(18)

OpenStack projects

Nova (compute)

Glance (image service)

Swift (storage)

Core

Incubation

Related

Keystone (common authentication)

Dashboard (django-based web UI)

Burrow (queue service)

...

(19)

Release cycle

diablo-1 diablo-2 diablo-3 diablo-4 2011.3

1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 nova

glance

swift

6 months

(20)

Swift (Cloud Storage)

Object storage

RESTful interface

No object size limit

Stable and deployed in production

Scales massively

(21)

Objects, containers, accounts

Account Container

Object Object Object

Container

Object Object

Account Container

Object Object Object Container

Object Container

Object Object Object Object Object

(22)

Rings

000...1ff

200...3ff

400...5ff 600...7ff

800...8ff a00...bff

c00...dff

e00...fff

(23)

The objects ring

PUT /<api version>/<account>/<container>/<object>

ecb25d1facd7c6760f7663e394dbeddb

Partition 482

located on:

zoneAsrv73 zoneCsrv35 zoneBsrv98

(24)

Container server Object server

Container server

Swift request

Proxy server

A Object server Object server Object server

B Object server Object server Object server

C

Object server Object server Object server

(25)

Listing objects in a container

GET /<api version>/<account>/<container>/

cfb02ba07109d95e3091227b34641472

Partition 68

address queries to:

zoneBsrv12 zoneAsrv92 zoneCsrv44

Containers

(26)

Listing containers in an account

GET /<api version>/<account>/

b779f644c96a61c240de9d5bfa431824

Partition 11

address queries to:

zoneBsrv42 zoneCsrv09 zoneAsrv63

Accounts

(27)

Container server Container server

Container server Object server

Container server Container server Object server

Object server Object server

Container server Object server

Object server Object server

Object server Object server

Account server Container server

Account server Container server

Container server Object server

Swift components

Proxy server

Proxy server Proxy server

Object server Object server Object server

Object server Object server

Account server Container server

Account server Container server

Container server Object server

Object server Object server Object server Object server

Object server Object server Object server Object server

Account server Container server

Account server Container server Object server

Object server Object server Object server

Object server Object server Object server Object server

Container server Account server

Container server

Account server Container server

Container server Object server

Object server Object server Object server Object server

Object server Object server Object server Object server

Horizontal scaling

Commodity hardware (no RAID)

Updater Auditor Account reaper

Auditor

(28)

Glance (Image service)

Disk images and associated metadata

Discover, register and retrieve

Multiple disk formats :

raw, VHD, vmdk, vdi, ISO, qcow2, aki, ari, ami

Multiple container formats :

ovf, bare, aki, ari, ami

(29)

Glance architecture

glance-api

Glance API

glance

CLI tool

glance.client

Python library Filesystem

HTTP Swift

S3

Registry API

glance-registry ...

...

...

SQL

(30)

Nova (Cloud Compute)

« VMs one API call away »

Highly-modular framework

Under heavy development

Used in production in NASA Nebula cloud

(31)

Object server

Nova components

Network node RabbitMQ

API node

Scheduler node

Network node Compute node

Volume node

(32)

Object server

Creating a new server

Network node RabbitMQ

Network node

Volume node Scheduler node

Compute node

API node

Glance

(33)

Object server

Share nothing ? Not yet

Network node RabbitMQ

API node

Scheduler node

Network node Compute node

Volume node

Datastore

(34)

Object server

Nova modularity

Datastore API node

Scheduler node

Network node

Compute node

Volume node

WSGI middleware

EC2/OpenStack API

DB/LDAP auth plugin

Pluggable

Chance

Zone-aware

AMQP

Sqlite

MySQL

Postgres

Flat, FlatDHCP, Vlan

IPv4 / IPv6

QEMU, KVM, UML, LXC

Xen and XenServer

Hyper-V

VMware vSphere

Local LVM volume groups

iSCSI

Sheepdog

HP/Lefthand SANs

(35)

Coming up in Diablo...

Separate block storage service (LunR)

Separate network services :

Quantum (network API for cloud compute)

Melange (network resources registry)

Donabe (complex network containers)

Use common authentication (Keystone)

(36)

Coming up in Diablo...

Snapshot, clone and boot from volumes

Distributed scheduling

OpenStack API 1.1

Configuration drive

(37)
(38)

What we are using

(39)

What we are using

Eventlet

Paste.deploy

webob

routes

http://www.flickr.com/photos/urtica/2354829631/

(40)

What we are using

& sqlalchemy­migrate

Carrot / AMQPlib

(Kombu ?)

http://www.flickr.com/photos/sapphir3blu3/3235526282/

(41)

What we are using

boto

M2Crypto

http://www.flickr.com/photos/cgt/4592048715/

gflags

(42)

Come and join the fun

http://launchpad.net/openstack

http://wiki.openstack.org

http://planet.openstack.org

IRC (Freenode)

#openstack

#openstack-dev

Mailing-list

https://launchpad.net/~openstack

(43)

Questions ?

thierry@openstack.org

http://fnords.wordpress.com

Follow @tcarrez

References

Related documents

The download trial is intended for RHEL 6.5 x86_64. The deployment server and the controller can be implemented as virtual machine, while the compute nodes are expected to

Alter each simple machine: move the fulcrum on the lever, add a pulley, change the length or height of an inclined plane, select screws with different threads, and try other wheel

The Standards for pre-registration midwifery education (NMC 2009) state the competencies students need to achieve to be placed on the register as a newly qualified midwife

Those interview- ees who utilized unconventional means of participation reported that in their opinion an engage- ment in these activities demands social awareness, some distrust

experienced nuclear systems engineering organization should be intimately involved in early mission planning stages to provide a realistic understanding of what nuclear

Patients were enrolled, when the attending intensive care specialist suspected infection, based on (1) suspected source which could be identified, (2) new onset organ dysfunction,

CSU Apply Online allows you to submit your application for admission via the web and includes the facility to attach supporting documentation to your application. It is faster

It is hypothesized that there are significant positive differences between college students’ individual spreadsheet project scores when a computer-based simulation spreadsheet