31
August 19, 2014 OpenStack Trove Day Nikhil Manchanda, Trove Project Technical Lead, HP Doug Shelley, VP of Product Development, Tesora What is Trove?

What is OpenStack Trove? Trove Day 2014

  • Upload
    tesora

  • View
    904

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 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?

Page 2: What is OpenStack Trove? Trove Day 2014

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

Page 3: What is OpenStack Trove? Trove Day 2014

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

Page 4: What is OpenStack Trove? Trove Day 2014

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

Page 5: What is OpenStack Trove? Trove Day 2014

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

Page 6: What is OpenStack Trove? Trove Day 2014

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

Page 7: What is OpenStack Trove? Trove Day 2014

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

Page 8: What is OpenStack Trove? Trove Day 2014

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

Page 9: What is OpenStack Trove? Trove Day 2014

Features in Icehouse

Page 10: What is OpenStack Trove? Trove Day 2014

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

Page 11: What is OpenStack Trove? Trove Day 2014

DNS Support

• Integration with Designate

• Provision Trove instances with DNS name

8/19/14 tesora.com 11

Page 12: What is OpenStack Trove? Trove Day 2014

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

Page 13: What is OpenStack Trove? Trove Day 2014

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

Page 14: What is OpenStack Trove? Trove Day 2014

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

Page 15: What is OpenStack Trove? Trove Day 2014

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

Page 16: What is OpenStack Trove? Trove Day 2014

Miscellaneous

• Goodbye XML API

• Support for Tempest API tests

• Trove Deployment Guide

8/19/14 tesora.com 16

Page 17: What is OpenStack Trove? Trove Day 2014

New in Juno

Page 18: What is OpenStack Trove? Trove Day 2014

Replication

• Asynchronous mysql master-slave replication

• Support for new, and existing instances

• Ability to Promote / Detach Slave

8/19/14 tesora.com 18

Page 19: What is OpenStack Trove? Trove Day 2014

Neutron Support

• Add Neutron NICs on instance create

• Support default Neutron Networks

• Horizon (Trove dashboard) enhancements

8/19/14 tesora.com 19

Page 20: What is OpenStack Trove? Trove Day 2014

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

Page 21: What is OpenStack Trove? Trove Day 2014

Datastore Improvements

• Associate flavors with datastores

• Initial Support for other datastores• PostgreSQL • Vertica

8/19/14 tesora.com 21

Page 22: What is OpenStack Trove? Trove Day 2014

Enhancements to Backups

• Cross-region availability of backups

• Backup/restore for non-mysql datastores• Cassandra• Couchbase

8/19/14 tesora.com 22

Page 23: What is OpenStack Trove? Trove Day 2014

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

Page 24: What is OpenStack Trove? Trove Day 2014

Miscellaneous

• Support for Capabilities

• Migrate to oslo.messaging

• Heat enhancements

• Improved Logging and Documentation

8/19/14 tesora.com 24

Page 25: What is OpenStack Trove? Trove Day 2014

Replication in Trove

Page 26: What is OpenStack Trove? Trove Day 2014

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

Page 27: What is OpenStack Trove? Trove Day 2014

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

Page 28: What is OpenStack Trove? Trove Day 2014

Replication DemoSneak preview of Tesora DBaaS Platform Enterprise Edition

Page 29: What is OpenStack Trove? Trove Day 2014

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

Page 30: What is OpenStack Trove? Trove Day 2014

Questions?

Page 31: What is OpenStack Trove? Trove Day 2014

Thank You

8/19/14 tesora.com 31