What is OpenStack Trove? Trove Day 2014

Post on 01-Dec-2014

904 views 2 download

description

Presentation at OpenStack Trove Day 2014 by Nikil Manchanda, Trove Project Lead, HP and Doug Shelley, VP of Products, Tesora

Transcript of What is OpenStack Trove? Trove Day 2014

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