openstack trove database-as-a-service overview
DESCRIPTION
An overview of OpenStack Trove, a Database-as-a-ServiceTRANSCRIPT
© MIRANTIS 2013 PAGE © MIRANTIS 2013
OpenStack Troveoverview
Makogon DenisSoftware Engineer
© MIRANTIS 2013 PAGE
Current feature list. User
● Provisioning database within instance○ Single mysql or percona instance
● User/Database management○ CRUD operations, access control management
● Backup/Restore functionality● Resize instance
○ volume○ flavor
● Quota usage status
© MIRANTIS 2013 PAGE
Current feature list. Management
● Stop/reboot/migrate instance● DB diagnostic (specific for agent
implementation)● Quota management
○ instances○ volumes○ backups
● Storage usage statistics by volume
© MIRANTIS 2013 PAGE
Production usage
● HP (DBaaS by request for beta testing)● Rackspace (Cloud Databases)● eBay (eBay internal cloud)
© MIRANTIS 2013 PAGE
Community roadmap
● IceHouse○ Generalization of core in order to improve extensibility○ Database multi-”engine type”-version support○ Adding support of cluster provisioning and management○ Extensibility Forming complete architecture (Conductor, Scheduler)○ “Amazon parameters-group”-like feature○ Automated scheduled tasks○ Designate/Ceilometer support○ Automated failover○ Tempest test coverage
© MIRANTIS 2013 PAGE
Trove architecture
DB
VM
Database engine
Trove CLI API Taskmanager
Guestagent
REST RPC
RPC
© MIRANTIS 2013 PAGE
Trove future architecture
API
Taskmanager
Trove DB
VM
Guestagent Database engine
Conductor
Scheduler
External database client
Trove CLIREST
RPC
RPCRPC
RPC
RPC
© MIRANTIS 2013 PAGE
Major gaps for Trove as production grade DBaaS solution
● Provision MySQL HA○ Percona XtraDB cluster○ MySQL Replication
● Support NoSQL DB clusters○ MongoDB○ Cassandra○ Redis○ CouchDB○ CouchBase
● In-memory databases○ MemCached○ VoltDB
● Backup/restore of cluster databases
© MIRANTIS 2013 PAGE
Conclusion
● Currently supports only single instance MySQL database
● Cluster and HA support is under design● Immature architecture (tightly coupled modules,
direct access to database from DB VM, interfaces between modules are not defined)
● Under active development
© MIRANTIS 2013 PAGE
Live Demo
Demo script:
1. Instance provisioning.
2. DB & Users CRUD operations.
3. Backuping.
4. Restoring from backup.