Introduction to OpenStack Trove & Database as a Service

20
Intro to OpenStack Trove & Database as a Service OpenStack Toronto Meetup March 30, 2016 Doug Shelley, VP Product Development, Tesora

Transcript of Introduction to OpenStack Trove & Database as a Service

Page 1: Introduction to OpenStack Trove & Database as a Service

Intro to OpenStack Trove & Database as a Service

OpenStack Toronto Meetup

March 30, 2016Doug Shelley, VP Product Development, Tesora

Page 2: Introduction to OpenStack Trove & Database as a Service

2

A word about our sponsors• Tesora, the Trove company• Leading contributor to Trove • Makers of Tesora “DBaaS Platform”

– Enterprise product based on Trove– Additional capabilities– Additional datastores– Support and Services

• Located in Boston and Toronto– We’re hiring

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup

Page 3: Introduction to OpenStack Trove & Database as a Service

3

Today’s Database Challenges

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

“I just don’t understand these

developers...”“I only need it for

a couple of weeks”

“I’ll just use AWS”

“I need my environment NOW”

“I need a NoSQL DB for my app to

scale”

“I have to release it next month or

else”

Developer IT Guy

Page 4: Introduction to OpenStack Trove & Database as a Service

4

Today’s Database Challenges

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

“These Ops guys don’t get it...”

“We have no idea what they are putting on the

public cloud”

“I know that they are putting our

customer data at risk”

“Why can’t they just use Oracle?”

“My budget and team aren’t getting

any bigger”

“We need time to do it right”

Developer IT Guy

Page 5: Introduction to OpenStack Trove & Database as a Service

5

Traditional IT• Provisioning by admins• Database management by

specialists• Waterfall development• Few large machines /

bare metal• Oracle Enterprise licenses

• Captive audience

Cloud • Self Service Provisioning• Developers manage their own

databases• Agile development • Many small machines /

virtualization• Many data management

technologies• Competition with AWS

Transformation of Cloud Data Management

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup

Page 6: Introduction to OpenStack Trove & Database as a Service

6

The Solution: Database as a Service• The delivery of database software &

related storage “as-a-service”

• Available on-demand, without any hardware or software installation or configuration

• A fully managed service maintained & administered by the service provider

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup

Page 7: Introduction to OpenStack Trove & Database as a Service

7

Amazon is demonstrating the importance of DBaaS• DynamoDB was the fastest growing service in AWS history in 2012

– Werner Vogels, Amazon CTO, AWS Blog June 2012• Redshift is now the fastest growing AWS service ever

– Werner Vogels, Amazon CTO, The Register, April 2015• 45% of Amazon customers have implemented and are expanding

use of RDS– Jeffrey Hammond, Forrester Blog, September 2013

• AWS database business currently on a $1 billion revenue run rate– Andy Jassy, the SVP of AWS - TechCrunch, October 2015

• Amazon’s #1 hiring focus – 84 open positions in DBaaS in November 2015– Deutsche Bank Markets Research - NetworkWorld, November 2015

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Page 8: Introduction to OpenStack Trove & Database as a Service

What is Trove? RDS for OpenStack…and DynamoDB …and RedShift

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup 8

Amazon AWS OpenStack

EC2 SwiftS3

DynamoDB RedShift

CinderEBS

Nova

Developer API Developer APIO

perations API

Amazon Internal API

Trove

RDBMSNoSQL DW

RDS

…and API’s for DevOPs

Page 9: Introduction to OpenStack Trove & Database as a Service

9

OpenStack Trove Mission Statement

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

The OpenStack Open Source Database as a Service Mission:

To 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.

https://wiki.openstack.org/wiki/Trove

Page 10: Introduction to OpenStack Trove & Database as a Service

10

What is OpenStack Trove?• Provisioning

– Launching a new database instance• Complex Database Topologies

– Clustering, Replication• Automation

– Backup & Restore, Failover, Resizing, Cluster Scaling• Multiple Database Technologies, Common API’s

– Relational, Non-Relational, … (mostly FOSS)• Management Interface

– CLI, REST API, Web based UI

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Page 11: Introduction to OpenStack Trove & Database as a Service

11

Complete Database Lifecycle Management

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup

ManageManage schemasCreate replicas for

scale & availability Backup/restore

Provision• On demand• Wide DB selection• Clusters & single

instances

Tune• Manage log files• API’s to tune fleets of

servers, not just single instances

• Sane defaults

Secure• Users/permissions• Restricted root access

Page 12: Introduction to OpenStack Trove & Database as a Service

12

The Trove Architecture

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Glance Storage

Guest ImageOperating System

Database SoftwareTrove Guest Agent

Trove

Trove API

Trove Conductor

Trove Task Manager

Nova

Cinder

Swift

Neutron

Keystone

Glance

Application

Nova InstanceOperating System

Database Software

Trove Guest Agent

Storage

Page 13: Introduction to OpenStack Trove & Database as a Service

13

The data plane and the management plane

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Page 14: Introduction to OpenStack Trove & Database as a Service

Datastore-agnostic code in Trove Controller and Dashboard

Datastore specific code isolated to guest agents

Trove Multi-Datastore Architecture

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup 14

Trove Controller

Trove Dashboard (Horizon)

Guest Agent

Guest Agent

Guest Agent Guest Agent

Guest Agent Guest Agent Guest Agent

Guest Agent

Guest Agent

API

Task Manager

Conductor

Page 15: Introduction to OpenStack Trove & Database as a Service

15

Multi-database – support for 13 different databases

3/30/2016 Intro to OpenStack Trove & DBaaS OpenStack Toronto Meetup

SQL NoSQL

Page 16: Introduction to OpenStack Trove & Database as a Service

16

What’s new in Mitaka• Cassandra clustering, backup & restore, configuration groups, user

functions• CouchDB backup and restore, user functions• DB2 backup and restore• Improvements to Mongo Cluster grow/shrink support• Extend MySQL replication to include MariaDB GTID replication• Percona XtraDB Cluster grow/shrink support, root enable• Vertica configuration groups, cluster grow/shrink• Improved Ceilometer notifications• Bug fixes

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Page 17: Introduction to OpenStack Trove & Database as a Service

17

What’s on deck for Newton• Here are some projects currently under consideration

– Guest upgrade support– Support for anti-affinity of replica/cluster nodes– Extend persistent storage to include more than

Cinder/Ephemeral– Python 3 support– Management client for Trove, use the OpenStack client– Filter available volume types by datastore– Guest improvements

• Incremental backup, streaming replication for PostgreSQL• Clustering for Couchbase

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Page 18: Introduction to OpenStack Trove & Database as a Service

Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

18

Let’s see a demo…

3/30/2016

Page 19: Introduction to OpenStack Trove & Database as a Service

19

Learn More about Trove• Trove Wiki – https://wiki.openstack.org/wiki/Trove• Trove Source – https://git.openstack.org/cgit/openstack/trove• On IRC - #openstack-trove• Getting Started Videos – http://tesora.com/videos/ • Download Tesora Platform - http://tesora.com/downloads • Trove Day

– http://tesora.com/troveday– http://slideshare.net/tesoracorp

• LinkedIn - OpenStack Trove Group

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup

Contact information

Contact [email protected]@tesoracorp

Contact [email protected]@dougshelley66IRC: dougshelley66

Page 20: Introduction to OpenStack Trove & Database as a Service

• Official OpenStack event• Community-driven• Focus on enterprise users

• Retail• Financial services• Telecom

OpenStack East – August 23-24 - New York City

20

More at OpenStackEast.com

3/30/2016 Intro to OpenStack Trove & DBaaS – OpenStack Toronto Meetup