The origins of reddwarf were driven by need... there was a hole in the OpenStack ecosystem for value-added services, specifically database services.At HP Cloud, We evaluated various 3rd party solutions, but at the end of the day, wer
Announced at the OpenStack Diablo Summit – April 2011Started as a relational database as a serviceInitially focused on MySQLService platform based on OpenStack Nova with OpenVZ supportTightly coupled with NovaHP joined with the Rackspace Reddwarf team (running in a separate fork)Both HP and Rackspace announced commercial services on
Reference architecture of Reddwarf.- Reddwarf leverages Nova via the API- Reddwarf also leverages Swift directly through its API as well- Guest Agent is part of Reddwarf, and installed on each compute instance managed by Reddwarf
OpenStack provided a fertile ground for creating an open API. Without OpenStack as a lightning rod of sorts I'm not sure this would've taken hold. I don't think any Reddwarfer (Reddwarfist?) is happy we're not considered a part of Nova, but its still worth it for similar Open Source services to seek out partnerships via the OpenStack conferences, meetings etc.- Reddwarf is real, and both HP and Rackpace have commited to providing a common API.
Provides the ability to provision virtual machines or reuse existing OpenStack infrastructure.
Through our extensive use of Nova, we've learned a few things...- Polling sucks, when you consider Nova as a Black Box, there is really a not enough information available to an Application running on top. Ideally, some way to emit and consume notifications would help here.- In a non-private cloud deployment (Multiple AZ or Cells).. It would be really nice if things were shared. - In a Distributed Environment, things fail, it would be nice if Nova clean up after itself- Nova is async, it's difficult to implement transactions in that sort of environment, but there is a lot of room for improvement in its State Management
Orchestration layer, for supporting long running operations against Nova and rest of Openstack (things like master/slave, where multiple instances shoudl be spawned on a single request)Scheduling - there is a need to perform automated tasks at some interval, like periodically taking backups, or checking for updates, etc.One thing we've struggled with not being a core project, is with Continuous Integration. How do we keep up to date with Trunk? How do we remain compatible with Openstack as it moves forward? How do we do CI without having to do it entirely ourselves?- At the last summit, Stackforge was discussed, and we may have found a home..- Rackspace has done a lot of work developing redstack -- We'd like to turn this into extension of devstack, that could eventually be part of the tempest runs. - We may also need to work with the Openstack CI team, to come up with what we are calling the 'golden image'. Since we sit on top of openstack, and the guest agent is crucial to what we do, as changes are made, we'd like to automate the creation of a golden image, and test against tip of everything else.
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
RedDwarf Reference Architecture
RedDwarf @ Rackspace
RedDwarf @ HP
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