Download - OpenStack 101 Technical Overview
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