27
Introduction to Database as a Service using OpenStack Trove February 26, 2015 Kamesh Pemmaraju, Mirantis Kenneth Rugg, Tesora

Webinar: Intro to Trove_Mirantis_26_feb2015

  • Upload
    tesora

  • View
    1.087

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Webinar: Intro to Trove_Mirantis_26_feb2015

Introduction to Database as a Service using OpenStack Trove

February 26, 2015

Kamesh Pemmaraju, MirantisKenneth Rugg, Tesora

Page 2: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 2

Housekeeping• Plan for 30 minutes plus Q&A• Lines are muted• Submit questions through

chat• Being recorded• Slides and recording

available

Welcome

Today’s Speakers

Kamesh PemmarajuDirector of Partner Marketing

Mirantis

Ken RuggCEO

Tesora

Page 3: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 3

Today’s Agenda

• OpenStack• OpenStack Trove: Database as a Service• OpenStack Trove Architecture• Getting Started• Database as a Service with Mirantis and Tesora

Page 4: Webinar: Intro to Trove_Mirantis_26_feb2015

OpenStack

Page 5: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 5

• Upstream OpenStack is very complicated – Many components, configuration,

choices

• New releases every 6 months – How do I keep up?

• No enterprise support – Who do I call if I have a problem?

• Not easy to deploy or manage

Why do you need an OpenStack Distribution?

Page 6: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 6

Seven questions to ask about an OpenStack Distribution1. Is it easy to deploy, operate, and upgrade?2. Is it reliable, validated, and supported for enterprise-grade

deployments?3. Is it flexible enough to work with multiple operating systems,

hypervisors, databases, storage, and network technologies?4. Is there premium 24x7 support and expertise available to support

it?5. Is the certification process open and transparent?6. Does it work with my existing infrastructure?7. Are there any proprietary hooks or other software or hardware

bundling?

Page 7: Webinar: Intro to Trove_Mirantis_26_feb2015

OpenStack Trove: Database as a Service

Page 8: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 8

Traditional IT• Provisioning by DBA’s• 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

Page 9: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 9

What is OpenStack Trove?

• Database as a Service for OpenStack• APIs for both development and operations• Self service database provisioning• Full database lifecycle management• Multi-database support• Both Relational and NoSQL

Page 10: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove

RDS for OpenStack …and DynamoDB …and RedShift

Amazon AWS OpenStack

EC2SwiftS3

DynamoDB RedShift

CinderEBS

Nova

Developer API Developer APIO

pera

tions A

PI

Am

azo

n In

tern

al A

PI

Trove

RDBMS

NoSQL DW

RDS

…and API’s for DevOPs

Page 11: Webinar: Intro to Trove_Mirantis_26_feb2015

11

OpenStack Trove Mission Statement

“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.”

An Intro to OpenStack Trove

Page 12: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 12

Tuning• Automatically tune my.cnf

• Buffer Pool Size• Log file size• max_connections

• Sane defaults• InnoDB only• Disable load data infile• Disable select into

outfile• API to programmatically set

configuration groups

Management• Create database / schema• Create users• Grant permissions to a

Schema• Enable root user• Resize flavor• Resize volume• Full and incremental

backups• Create replica

It’s More than Just Provisioning…Security• Security groups• Turn off SSH• Remove anonymous user• Remove non-localhost users• Remove local file access• Mangle root user password• Apply security patches

automatically

Page 13: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 13

Trove In Production Today• Public Cloud

– HP Cloud Relational Database• Launched May 2012

– Rackspace Cloud Databases • Launched August 2012

• Private Cloud: eBay– Began mid 2013– Supporting MySQL, MongoDB,

Redis Cassandra, Couchbase– Multi-region + HA– Working on Clustering

• Key Use Cases– Development and test– Web application hosting– On-demand analytics

• Critical Capabilities– Self-service provisioning and mgmt.– Fleet wide configuration– Multi-datastore architecture

Page 14: Webinar: Intro to Trove_Mirantis_26_feb2015

OpenStack Trove Architecture

Page 15: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove

OpenStack Architecture

OpenStackTrove

Page 16: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove

What is Trove? Multi-Datastore Architecture

Datastore agnostic code in Trove Controller and Dashboard

Datastore specific code isolated to Guest Agents

Trove Controller

Guest Agent

Guest AgentGuest Agent

Guest Agent

Trove Dashboard (Horizon)

Guest Agent

Guest Agent

Guest AgentGuest Agent

Page 17: Webinar: Intro to Trove_Mirantis_26_feb2015

Getting Started

Page 18: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 18

• As a Trove user– Download

• Mirantis OpenStack• Tesora DBaaS platform

• As a Trove developer$ git clone http://github.com/openstack/trove-integration$ cd trove-integration/scripts$ ./redstack install$ ./redstack kick-start mysql

• On top of DevStack– Add to localrc:

• ENABLED_SERVICES+=,trove,tr-api,tr-tmgr,tr-cond

– Enable Swift for backup/restore• ENABLED_SERVICES+=,s-

proxy,s-object,s-container,s-account

• SWIFT_HASH=<swift-hash-here>

Getting started with OpenStack Trove

Page 19: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 19

Provisioning a Database Instance with OpenStack Trove$ trove create <instance-name> <flavor-id> --size <volume-size>

• Support for flavors• Support for volumes using Cinder• Optional parameters to create

– Image per ‘datastore type’ and ‘version’– Support AZs using --availability_zone– Support for Neutron using --nic

Page 20: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 20

Managing a Database with OpenStack Trove

• Resize flavor• Resize volume• Datastore specific extensions:

– Create Database / Schema– Create Users– Grant Users Permissions on Databases

• Enable a Root User

Page 21: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 21

$ trove backup-create <backup-name> <instance-id>

• Optional params:– Description through --

description– Incremental backups using –parent

• To Restore backup use create:

$ trove create <instance-name> <flavor-id>--size <volume-size>--backup <backup-id>

• Fully managed• Triggered and tracked via API• Streamed to Swift (OpenStack

Object Storage)• Incremental & full backups• Multiple formats per datastore

supported via strategies:– XtraBackup (Percona)– mysqldump

Backup and Restore with OpenStack Trove

Page 22: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 22

OpenStack Trove: Completed in Juno (Oct 2014)

• Async MySQL replication (master-slave)• Clusters for MongoDB• Neutron Support• Support for PostgreSQL• Config-groups enhancements

– Configuration groups per datastore / version– Config-groups for MongoDB

• Backups for Cassandra and Couchbase• Additional Tempest tests

Page 23: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 23

Planned for Kilo (Apr 2015)

• Building out clusters – Semi Synchronous MySQL clusters (Galera)

• Async Replication v2 – GTID based replication – Manual failover support

• Associate flavors with datastores• Access datastore logs via API• Removing deprecated oslo-incubator code• Upgrade testing through grenade

Page 24: Webinar: Intro to Trove_Mirantis_26_feb2015

DBaaS with Mirantis and Tesora

Page 25: Webinar: Intro to Trove_Mirantis_26_feb2015

25

Mirantis and Tesora: Pure Play OpenStack and Enterprise Hardened Database as a Service

An Intro to OpenStack Trove

Easy to Deploy and Use

Extensive Testing

World Class Support

From #1 Trove Contributor

More Trove Features, Earlier

Page 26: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 26

Getting Started with Mirantis OpenStack

• Deploy a Mirantis OpenStack POC– Download Mirantis OpenStack / Fuel ISO

• https://software.mirantis.com/

– Install the Fuel master to a VM or to bare metal– Register for 30 days of complimentary support from within the Fuel GUI

• Documentation for planning, deployment and administration– http://docs.mirantis.com/openstack/fuel/fuel-6.0/

• Deploy Mirantis OpenStack to VMs on a laptop using the ISO, the VirtualBox hypervisor and the scripts – https://software.mirantis.com/quick-start/

Page 27: Webinar: Intro to Trove_Mirantis_26_feb2015

An Intro to OpenStack Trove 27

Thank you for joining us!• OpenStack Trove resources:

– Trove Wiki• https://wiki.openstack.org/wiki/Trove

– Trove Source• https://git.openstack.org/cgit/openstack/trove

– Installable Trove packages from Tesora• http://Tesora.com/software

– IRC• #openstack-trove

– Trove Day• http://Tesora.com/troveday • http://Slideshare.net/Tesoracorp

– LinkedIn• OpenStack Trove Group

Contact information

TesoraKen Rugg@[email protected]

MirantisKamesh Pemmaraju@[email protected]