openstack trove kilo update jan 2015
TRANSCRIPT
OpenStack Trove Mission Statement
To provide scalable and reliable Cloud Database as a Service
provisioning functionality for both relational and non-relational
database engines, and to continue to improve its fully-featured and
extensible open source framework.
https://wiki.openstack.org/wiki/Trove
21/30/15
Trove Highlights
• Trove is the OpenStack Database as a Service project
– Easily provision and manage the life-cycle of a database in the cloud
– Supports both relational databases (like mySQL and PostgreSQL)
– And non-relational engines (like MongoDB, Cassandra, and Couchbase)
• The data-plane and the management-plane
– Trove stays on the management-plane
– Rarely on the data-plane
– Backup and restore being the exception
1/30/15 3
Brief History of OpenStack Trove
“Kilo”Apr 2015
“Juno”Oct 2014
“Icehouse”Apr 2014
“Havana”Oct 2013
1/30/15 4
Trove Multi-Datastore ArchitectureAll datastore specific code
isolated to guest agents
Trove Controller
Guest Agent
Guest Agent
Guest Agent
Guest Agent
Trove Dashboard (Horizon) Guest Agent
Guest AgentDatastore-agnostic code in Trove
Controller and Dashboard
Guest Agent
81/30/15
Trove Juno Release Overview
• The numbers:
– 332 commits from 71 contributors
– 31 blueprints implemented
– 201 bugs fixed
– 3,500 code reviews
– 66,168 total lines of code changed
• Source: http://superuser.openstack.org/articles/kilo-update-trove
1/30/15 11
Kilo Specs
• In Juno
– Trove did its blueprints in Wikipages, but had problems with reviews
– Not good for annotation and users could not easily track changes
– It was also difficult to get feedback
• Trove will be moving back towards the old specs process
– Move back to doing specs using Gerrit.
– Working well so far (see the trove-specs repository)
1/30/15 12
More Datastore Improvements
• Incremental improvements for existing datastores
• Introduce implementations of datastores for CouchDB and Vertica
• Add an API to fetch database logs from guest instances
– If something goes wrong, they need a programmatic way to figure out
the problem
1/30/15 13
• In Juno,
– Replication framework (v1)
– Single master, multiple read-
only slaves
– MySQL semi-synchronous
replication
– No failover
• In Kilo
– Merge Horizon (dashboard)
support for replication
– Continue to build out the
replication framework (v2)
– Add support for GTID-based
replication for MySQL
– Support for failover
Building on Replication
14
• In Juno
– Clustering framework (v1)
– Support for MongoDB
• In Kilo
– Extend the clustering
framework (v2)
– Work in progress
• Support for Cassandra
clustering
– Planned
• MySQL clustering based on
Galera (Percona XtraDB
Cluster)
Building out clusters
15
Paying off Technical Debt
• Address housekeeping items to make more stable and easier to use
– In the area(s) of CI and testing (gate)
• Update to reflect changes in Oslo
– Deprecations
– Graduations from oslo-incubator
1/30/15 16
Documentation improvements
• Document the Guest Image creation process
• Improved end-user documentation
1/30/15 17
Tesora Database as a Service with OpenStack Trove
• Built on OpenStack Trove
• Fast, self-service database provisioning
• Optimized for a wide range of SQL and
NoSQL databases
• Automates backup and data protection
• Deploys as a secure private cloud
1/30/15 19
Tesora Database as a Service Editions
Maintenance/Bug Fixes
Community Code
Extensive Testing
Simplified Installation/Configuration
24/7 Support
Replication and Clustering
Enterprise Database Capabilities
Certified Guest Images – Proprietary DBs
Certified Guest Images – Open Source DBs
OpenStack Trove
1/30/15 20
Tesora DBaaS Platform Maturity Model
DevelopmentDev/Test use cases
ProductionSimple production use cases
CarrierZero Downtime
• Single instance provisioning• Instance resizing• Full backup/restore
• Incremental and scheduled backups• Read replication• User/database management
• Bare metal provisioning• Multi-region failover• Advanced monitoring
1/30/15 21
More Info and get involved
• Amrith Kumar, Trove Core Team member, CTO Tesora
• Email: [email protected]
• IRC: amrith
• Trove IRC Channel: #openstack-trove
• Tesora IRC Channel: #tesora
1/30/15 22