OpenStack Trove Database-as-a-Service Overview

10
© MIRANTIS 2013 PAGE © MIRANTIS 2013 OpenStack Trove overview Makogon Denis Software Engineer

description

An overview of OpenStack Trove, a Database-as-a-Service

Transcript of OpenStack Trove Database-as-a-Service Overview

Page 1: OpenStack Trove Database-as-a-Service Overview

© MIRANTIS 2013 PAGE © MIRANTIS 2013

OpenStack Troveoverview

Makogon DenisSoftware Engineer

Page 2: OpenStack Trove Database-as-a-Service Overview

© 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

Page 3: OpenStack Trove Database-as-a-Service Overview

© 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

Page 4: OpenStack Trove Database-as-a-Service Overview

© MIRANTIS 2013 PAGE

Production usage

● HP (DBaaS by request for beta testing)● Rackspace (Cloud Databases)● eBay (eBay internal cloud)

Page 5: OpenStack Trove Database-as-a-Service Overview

© 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

Page 6: OpenStack Trove Database-as-a-Service Overview

© MIRANTIS 2013 PAGE

Trove architecture

DB

VM

Database engine

Trove CLI API Taskmanager

Guestagent

REST RPC

RPC

Page 7: OpenStack Trove Database-as-a-Service Overview

© 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

Page 8: OpenStack Trove Database-as-a-Service Overview

© 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

Page 9: OpenStack Trove Database-as-a-Service Overview

© 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

Page 10: OpenStack Trove Database-as-a-Service Overview

© MIRANTIS 2013 PAGE

Live Demo

Demo script:

1. Instance provisioning.

2. DB & Users CRUD operations.

3. Backuping.

4. Restoring from backup.