OpenStack Towards a fully open cloud Thierry Carrez Release Manager, OpenStack
Cloud?
Why we need open source IaaS A cloud building block Emergence of a standard Eliminate cloud vendor lock-in Enable federation of clouds
Eucalyptus The first attempt to open source IaaS Java implementation of EC2 / S3 APIs Scaling? Openness & Business model? Innovation?
Project genesis Cloud servers Cloud files (Swift) Open source
Project genesis Nebula & Eucalyptus NovaCC Open source
Project genesis Cloud servers Cloud files (Swift) Open source Nebula & Eucalyptus NovaCC Open source Nova (compute) Swift (storage)
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.
A young project Decision to open source Rackspace Cloud NASA open sources Nebula platform OpenStack formed First design summit in Austin First release (codenamed «Austin») Design summit in San Antonio «Bexar» released March May June July Oct. Nov. February
Open source Apache license No «open core»
Open design Open design summits every 6 months Everyone may submit blueprints
Open development DVCS using bzr Uses Launchpad Everyone can propose branches Open code reviews
Open community Discussions happen on public channels Community-elected technical leads Community-elected seats on board
Swift (Cloud Storage) Object storage RESTful interface No object size limit Stable and deployed in production Scales massively
Swift rings PUT /<api version>/<account>/<container>/<object> Partition 482 located on: zoneasrv73 zonecsrv35 zonebsrv98 ecb25d1facd7c6760f7663e394dbeddb
Swift request Proxy server A B C Container server
Object / container listing GET /<api version>/<account>/<container>/ GET /<api version>/<account>/ cfb02ba07109d95e3091227b34641472 b779f644c96a61c240de9d5bfa431824 Partition 68 address queries to: zonebsrv12 zoneasrv92 zonecsrv44 Containers Partition 11 address queries to: zonebsrv42 zonecsrv09 zoneasrv63 Accounts
Swift components Proxy server Proxy server Proxy server Account reaper Container server Container server Updater Container server Container server Auditor Container server Account server Container server Container server Object Account server server Container server Account server Container server Account server Account server Container server Object Account server server Container server Container server Horizontal scaling Commodity hardware (no RAID)
Nova (Cloud Compute) VMs one API call away EC2 API and OpenStack API Under heavy development Used in production in NASA Nebula cloud
Nova components Scheduler node Compute node API node (EC2,OpenStack) RabbitMQ Network node Network node Volume node
Creating a new server API node (EC2,OpenStack) Scheduler node RabbitMQ Compute node Objectstore node (S3) Glance Network node Network node Volume node
Share nothing? Not yet Scheduler node Compute node API node (EC2,OpenStack) RabbitMQ Network node Network node Volume node Datastore
Nova modularity API node WSGI / Paste EC2/OpenStack API DB/LDAP auth plugin Network node Flat, FlatDHCP, Vlan IPv6 Scheduler node Pluggable Chance Zone Compute node Libvirt (KVM, QEMU, UML) Xen Hyper-V Carrot Volume node Local LVM volume groups iscsi Sheepdog Datastore SQLAlchemy Sqlite, MySQL, Postgres
How to test Ubuntu Server as reference platform PPAs for Lucid/Maverick/Natty 11.04 will be released with latest Supports all-in-one installs # Example for Nova on Ubuntu 10.10 $ sudo apt get install python software properties $ sudo add apt repository ppa:nova core/trunk $ sudo apt get update $ sudo apt get install rabbitmq server $ sudo apt get install nova api nova objectstore nova compute nova scheduler nova network
Other OpenStack projects Core projects Glance Image service Incubating projects OpenStack dashboard Burrow queue service Ecosystem projects Deployment tools Mobile phone clients
Coming up next «Cactus» release, Apr 14 Stabilization release Nova : OpenStack API 1.1, Live migration, LXC support Glance : new CLI tool, support for multiple image formats Swift : async backend requests, performance fixes Conference & Design summit April 26-29, Santa Clara, California, USA
Come and join the fun Web http://wiki.openstack.org http://planet.openstack.org IRC #openstack on Freenode Mailing-list https://launchpad.net/~openstack
Questions? thierry@openstack.org http://fnords.wordpress.com Follow @tcarrez