OpenStack 101 Technical Overview

Preview:

DESCRIPTION

Sandy Walsh OpenStack 101 Technical Overview

Citation preview

Sandy WalshOpenStack Core Developer, Rackspace

@TheSandyWalshwww.sandywalsh.com

OpenStack 101Technical Overview

Project genesis

Cloud servers Cloud files Open source

Project genesis

NovaCC Open source

Project genesis

Cloud servers Cloud files Open source

Nova (compute) Swift (storage)

NovaCC Open source

June 2010

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

Open

Open source (apache) Open design (blueprints) Open development (branches) Open community (tech leads)

90 developers

OpenStack projects

Core projectsOpenStack Object storage (Swift)OpenStack Image registry and delivery (Glance)OpenStack Compute (Nova)

FutureStackBurrow (queue service)Dashboard (Web UI)Keystone (common authentication)Quantum / Melange / Donabe (network)LunR (block storage)RedDwarf (database as a service)...

OpenStack Basic Design Tenetshttp://wiki.openstack.org/BasicDesignTenets

1. Scalability and elasticity are our main goals

2. Any feature that limits our main goals must be optional

3. Everything should be asynchronous. If you can't do something asynchronously, see #2

4. All required components must be horizontally scalable

5. Always use Shared Nothing architecture or ShardingIf you can't Share Nothing/Shard, see #2

6. Distribute everything, especially logic. Move logic to where state naturally exists.

7. Accept eventual consistency and use it where it is appropriate.

8. Test everything.We require tests with submitted code.

OpenStack

EC2

API

Auth

HTTP

Client

OpenStack

EC2

API

Auth

HTTP

Host

Network

Volume

Compute

Host

Compute

Client

OpenStack

EC2

API

Auth

HTTP

Host

Network

Volume

Compute

Host

Compute

Client

WSGI+Paste middleware EC2/OpenStack API

Flat, FlatDHCP, Vlan IPv4 / IPv6

Libvirt : QEMU, KVM, UML, LXC Xen and XenServer Hyper-V VMware vSphere

Local LVM volume groups iSCSI Sheepdog HP/Lefthand SANs

DB/LDAP auth plugin

OpenStack

EC2

API

Auth

RabbitMQ QueuesHTTP

Host

Network

Volume

Compute

Host

Compute

Client

OpenStack

EC2

API

Auth

RabbitMQ QueuesHTTP

Scheduler

Network

Volume

Glance

SchedulerAPI Stubs

NetworkAPI Stubs

VolumeAPI Stubs

ComputeAPI Stubs

Host

Network

Volume

Compute

Host

Compute

Client

OpenStack

EC2

API

Auth

RabbitMQ QueuesHTTP

Scheduler

Network

Volume

Glance

SchedulerAPI Stubs

NetworkAPI Stubs

VolumeAPI Stubs

ComputeAPI Stubs

Host

Scheduler

Network

Volume

Compute

Host

Compute

Client

OpenStack

EC2

API

Auth

RabbitMQ QueuesHTTP

Scheduler

Network

Volume

Glance

SchedulerAPI Stubs

NetworkAPI Stubs

VolumeAPI Stubs

ComputeAPI Stubs

PubSubHubBubNotifications

Host

Scheduler

Network

Volume

Compute

Host

Compute

Client

OpenStack

EC2

API

SchedulerAPI Stubs

NetworkAPI Stubs

VolumeAPI Stubs

ComputeAPI Stubs

PubSubHubBubNotifications

Host

Scheduler

Network

Volume

Compute

Host

Compute

Zone

Auth

NorthAmerica

WestCoast

EastCoast

Do not reveal Child Zone/Service architecture outside Zone

PublicInternet

Zone X

Zone W

Zone YZone Z

Zone A

Zone B

Private Public

Bursting

DemoArchitecture

XenServer

Dom0

DomU Nova + Glance

DomU Guest

DomU Guest

i5 Mobile8G ram500G disk

The Future

New release schedule Each project releases ~monthly milestones Coordinated core projects release every 6 months

« Diablo » release Release planned on September 22 Distributed scheduling, boot from volumes,

external volumes/network APIs, OpenVZ support...

Come and join the funhttp://launchpad.net/openstackhttp://wiki.openstack.orghttp://planet.openstack.org

IRC (Freenode)#openstack#openstack-dev

Mailing-listhttps://launchpad.net/~openstack

Sandy WalshOpenStack Core Developer, Rackspace

@TheSandyWalshwww.sandywalsh.com

Recommended