what is openstack trove? trove day 2014
DESCRIPTION
Presentation at OpenStack Trove Day 2014 by Nikil Manchanda, Trove Project Lead, HP and Doug Shelley, VP of Products, TesoraTRANSCRIPT
August 19, 2014
OpenStack Trove Day
Nikhil Manchanda, Trove Project Technical Lead, HPDoug Shelley, VP of Product Development, Tesora
What is Trove?
Mission StatementTo 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.
8/19/14 tesora.com 2
What is Trove?
• Service to provision and manage Databases in an OpenStack Cloud
• Integrated OpenStack Project
• Exposes APIs to• Provision Instances• Scale instance sizes (memory / cpu)• Scale storage size• Take backups of data• Manage databases/schemas• Manage db users and permissions
8/19/14 tesora.com 3
Cinder VolumeCinder VolumeCinder VolumeCinder Volume CinderCinderCinder VolumeCinder Volume
trove-apitrove-api
trove-conductortrove-conductor
trove-taskmanager
trove-taskmanager
Message Bus
Message Bus
NovaNovaCompute InstanceCompute InstanceGuest AgentGuest Agent
SwiftSwift
SQL/NoSQLSQL/NoSQL
BackupBackup
DataData
BackupBackupDB BackupDB Backup
DBDB
GlanceGlanceBackupBackupBackupBackupGuest ImageGuest Image
KeystoneKeystone
Nova-N
etworking/N
eutronN
ova-Netw
orking/Neutron
DataDataDataData
Trove Architecture
TroveTrove
8/19/14 tesora.com 4
Managing a Trove Database
• Create Database / Schema
• Create users
• Grant permissions to a User to a Schema
• Enable Root User
• Resize flavor
• Resize volume
8/19/14 tesora.com 5
Trove Backups
• Fully Managed
• Triggered and Tracked via API
• Streamed to Swift (OpenStack Object Storage)
• Incremental as well as Full backups
• Formats:• XtraBackup (Percona)• mysqldump
8/19/14 tesora.com 6
Trove is Tuned
• Automatically tune my.cnf by Flavor• Buffer Pool Size• Log file size• max_connections
• Sane defaults• InnoDB only• Disable load data infile• Disable select into outfile
• New API to programmatically set configuration groups
8/19/14 tesora.com 7
Trove is Secure
• Security Groups to manage Access
• Turn off SSH
• Remove anonymous user
• Remove non-localhost users
• Remove local file access
• Mangle root user password
• Apply security patches automatically
8/19/14 tesora.com 8
Features in Icehouse
Non Relational DB Types• Support for datastore type, and version
• Support for • Cassandra• MongoDB• Redis• Couchbase
• Currently only supports single instances
8/19/14 tesora.com 10
DNS Support
• Integration with Designate
• Provision Trove instances with DNS name
8/19/14 tesora.com 11
Configuration Groups
• Support for user defined configuration settings
• Supports defining certain mysql (my.cnf) settings
• Allow grouping settings, and targeting groups to instances
8/19/14 tesora.com 12
Heat Integration
• Support for configuration based “heat” mode
• Default heat templates for each datastore provided
• Supports user-defined custom heat templates per datastore
8/19/14 tesora.com 13
Incremental Backup / Restore
• No longer necessary to perform full backups every time
• Specify a “parent” backup in API call
• Leverages xtrabackup to perform incremental backup
8/19/14 tesora.com 14
Trove Conductor
• New component added to Trove Control Plane
• Guest no longer needs direct connection to the Trove DB
• Uses RPC messages to communicate with guest
• Supports heartbeat messages, and backup / restore checks
8/19/14 tesora.com 15
Miscellaneous
• Goodbye XML API
• Support for Tempest API tests
• Trove Deployment Guide
8/19/14 tesora.com 16
New in Juno
Replication
• Asynchronous mysql master-slave replication
• Support for new, and existing instances
• Ability to Promote / Detach Slave
8/19/14 tesora.com 18
Neutron Support
• Add Neutron NICs on instance create
• Support default Neutron Networks
• Horizon (Trove dashboard) enhancements
8/19/14 tesora.com 19
Configuration Groups Enhancements
• Configuration Groups per datastore and version
• Configuration Groups for MongoDB
• Configuration Groups Enhancements• Allow users to add descriptions to groups• Better schema-based validation for values
8/19/14 tesora.com 20
Datastore Improvements
• Associate flavors with datastores
• Initial Support for other datastores• PostgreSQL • Vertica
8/19/14 tesora.com 21
Enhancements to Backups
• Cross-region availability of backups
• Backup/restore for non-mysql datastores• Cassandra• Couchbase
8/19/14 tesora.com 22
Testing Enhancements
• More Tempest tests• Guest level API tests• Client tests• Scenario tests
• Support for Upgrade testing through Grenade
8/19/14 tesora.com 23
Miscellaneous
• Support for Capabilities
• Migrate to oslo.messaging
• Heat enhancements
• Improved Logging and Documentation
8/19/14 tesora.com 24
Replication in Trove
8/19/14 tesora.com 26
• Community decided on a versioned approach• First version is in Juno• Goal is to provide read replicas for MySQL• Subsequent releases will add more
capabilities:• Master-master• Failover• Multi-zone disaster recovery• Choice of replication strategies
Replication - Overview
8/19/14 tesora.com 27
• Launch slave from existing master• Slave bootstrapped with snapshot of master• Uses MySQL native asynch replication• Started from snapshot provided binlog position• Master can support many slaves• Replication is monitored; instance status
changes for delay or disconnect• Slaves can be promoted (i.e. detached from
Master)
Replication – Juno Capabilities
Replication DemoSneak preview of Tesora DBaaS Platform Enterprise Edition
Your Idea Here!
• Growing community of contributors
• Open to new ideas, and code
• Lots of room for improvement
• Find us at #openstack-trove on FreeNode.
8/19/14 tesora.com 29
Questions?
Thank You
8/19/14 tesora.com 31