openstack and trove with mirantis and tesora

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

Upload: kamesh-pemmaraju

Post on 14-Jul-2015

345 views

Category:

Technology


1 download

TRANSCRIPT

Introduction to Database as a Service using OpenStack Trove

February 26, 2015

Kamesh Pemmaraju, MirantisKenneth Rugg, Tesora

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

3

Today’s Agenda

• OpenStack

• OpenStack Trove: Database as a Service

• OpenStack Trove Architecture

• Getting Started

• Database as a Service with Mirantis and Tesora

An Intro to OpenStack Trove

OpenStack

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?

An Intro to OpenStack Trove

6

Seven questions to ask about an OpenStack Distribution

1. 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?

An Intro to OpenStack Trove

OpenStack Trove: Database as a Service

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

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

10

RDS for OpenStack …and DynamoDB …and RedShift

An Intro to OpenStack Trove

Amazon AWS OpenStack

EC2SwiftS3

DynamoDB RedShift

CinderEBS

Nova

Trove

RDBMS

NoSQL DW

RDS

…and API’s for

DevOPs

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

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

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

An Intro to OpenStack Trove

• 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

OpenStack Trove Architecture

15

OpenStack Architecture

OpenStackTrove

An Intro to OpenStack Trove

16

What is Trove? Multi-Datastore Architecture

An Intro to OpenStack Trove

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

Getting Started

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

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

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

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

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

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

DBaaS with Mirantis and Tesora

25

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

Tesora Introduction

Easy to Deploy and Use

Extensive Testing

World Class Support

From #1 Trove Contributor

More Trove Features, Earlier

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/

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/solutions/downloads/products

– 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]