Database Services On OpenstackProject RedDwarf Tim Simpson & Vipul Sabhaya Rackspace & HP
Agenda• Project Origins & • Links History • Questions• What is RedDwarf?• Architecture Overview• Current Status• Leveraging OpenStack• Future
Project Origins• Started in 2011 • Originally Java + ServiceMix + ZooKeeper• Team Lead + Architect discussions with Nova Team • Nova also working on Scheduler • Mechanism for RPC calls• Nova should be used as the base, avoid rework• RedDwarf born
Project Origins• Need for value-added services • Built on top of OpenStack• Alignment with OpenStack’s vision and goals• Performance requirements • One size does not fit all!• Open Source!
What is Red Dwarf• Managed MySQL Database Service• Public API’s to • Manage MySQL instances • Scale database instance memory sizes up and down • Scale up storage sizes• Extensions • Create, read, update, and delete databases and database users
Status Both Services in Production! Rackspace - GA HP Cloud – Private Beta
Status• API Code is shared• API Extensions are used as necessary• RPC API Compatibility • Drop-in-replacement of Backend • Drop-in-replacement of Guest Agent• Open Source versions of Guest and Backend exist today
RedDwarf as an Open API• Both HP and Rackspace are committed to the Core API • API follows OpenStack standards• Both companies committed to the same CLI and python bindings • python-reddwarfclient• Work being done to support JClouds binding
Leveraging OpenStack• Nova • Provisioning of resources• Openstack-common • REST API framework • RPC layer• Swift • Storage for securely storing database snapshots• Keystone • User-level permissions• Glance • Custom Images w/Agent baked in
Nova as a Building Block• Nova Improvements • Tremendous improvements & stability in past year• Applications can be built on top • No forking required • Python not required• Pluggable Architecture • Features such as OpenVZ containers
Nova Wishlist• Easier consumption of notifications • Polling sucks• Cross AZ / Cell resource sharing • Keys, Security Groups, Images, etc.• Resource cleanup + fault tolerance• Transactional state management• Long-running job support• Better error messages• Openstack-common packaged
Where are we headed?• Orchestration Layer • Long-running / Transactional Jobs• Scheduling / Automation• Support for additional Language Bindings • Python-reddwarfclient + Jclouds • Ruby? Openstack-java-sdk?• Continuous Integration • Stackforge • DevStack extensions (./redstack) • Tempest extensions • Golden Image (base image with Guest Agent + MySQL)
How do we get there?• Community Building • Dedicated resource (Michael Basnight)• Reduce Learning Curve • More Documentation! • Easier installation / upgrades• Follow openstack best-practices• Incubation?
Openstack Contributions• Nova Contributors • Red Dwarf Contributors • Nirmal Ranganathan • Vipul Sabhaya • Tim Simpson • Nirmal Ranganathan • Michael Basnight • Tim Simspon • Craig Vviyal • Michael Basnight• Projects • Craig Vviyal • Keystone, Keystone Client, • Sudarshan Archarya Glance Client, Nova, Nova • Paul Marshall Client, Cinder • Ed Cranford • Joe Cruz • Daniel Salinas
Get started today!$ git clone https://github.com/hub-cap/reddwarf_lite.git$ ./reddwarf_lite/bin/start_server.sh$ git clone https://github.com/hub-cap/reddwarf_lite-integration.git$./reddwarf_lite-integration/tests/integration/run_local.sh