mysql shell - the devops tool for mysql

35

Upload: miguel-araujo

Post on 22-Jan-2018

64 views

Category:

Software


6 download

TRANSCRIPT

Page 1: MySQL Shell - The DevOps Tool for MySQL
Page 2: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.

MySQLShellTheDevOps ToolforMySQL

MiguelAraújoSeniorSoftwareDeveloperMySQLMiddlewareandClientsOctober02,2017

Page 3: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.

3

Page 4: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

4

6

Page 5: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

5

6

Page 6: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 6

Introduction- DevOps

DEVOPS

SoftwareOperationsSoftwareDevelopment

… It’sallaboutCAMS*!*DamonEdwards and JohnWillis atDevOpsDays Mountainview 2010

Page 7: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 7

Introduction- DevOps

… meaningful monitoring data

Measurement

… quality,speed,consistency...people and processesi.e.communication

… information,tools,lessons

Page 8: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

DevOps:Goals

• Continuous,fasterdevelopment

• Fastertimetodeliver

• Lowerthefailurerate

• Reducedependencyofstaffthatownsalltheknowledgebysharingthecompetencestoalltheteam

8

Page 9: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

DevOps:How?

• Culture– Reducefrictionbetweenteams– Bettercollaborationbetweenteams– Shareknowledgeandroles– Developers,sysadminsandDBAsmustsharework,decisionsandideas

• Automation– Systemsandscenariosneedtobeabletobeeasilyandquicklyreproducible– Useautomationtoolsfordeploymentandconfiguration(puppet,chef,etc)– Deployingsystemsbecomeseasiertoeveryoneandastandard– Lowerstherisk

9

Page 10: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

DevOps:How?

• Measurement–Monitoring– Checktheservicestatus– Learntheinfrastructure– Anticipatefailuresandneeds– Actfast!

• Sharing– Shareallmonitoringinfo– Sharetestresultsandbuilds– Allowsbeingabletoplanahead!

10

Page 11: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

11

6

Page 12: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLShell:Intro

• Interactivemulti-languageinterfacethatsupportsdevelopmentandadministrationfortheMySQLServer

• IntegratingpartoftheServer,asacomponent

• Canbeusedtoperformdataqueriesorupdates,andadministrationoperations

12

Page 13: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLShell:Goal

• OnetoolforMySQLdevelopmentandadministrativetasks

• NaturalinterfaceforallMySQLrelated”DevOps”!

– Unified InterfaceforDevelopersandDBAs

• Intuitive,flexibleandpowerful

• ProvidesscriptingwithdevelopmentandadministrativeAPIs

13

Page 14: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLShell:Features(Dev)

• Interactivemulti-languagesupport– JavaScript,PythonandSQL– Bothinteractiveandbatchoperations

• DocumentandRelationalmodels– Supportstheclassicrelationalmodel–ModernfluentAPIfortheMySQLDocumentStore• CRUDandRelational

– SupportsthetraditionalTableresults,aswellasJSONorTabseparatedoutput

14

MySQLDevelopment

Page 15: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.

MySQLShellDevelopmentLiveDemo!

Page 16: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLShell:Features(Ops)

• AdministrationAPI:AdminAPI– CreationandManagementofInnoDB Clusters– Hidesthecomplexityof:• Configuration• Provisioning• Orchestration

– Simpleandstraight-forward– Doesn’trequireMySQLexpertise– Flexible,powerfulandsecure– AvailableinbothJavaScriptandPython

16

MySQLAdministration

Page 17: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

17

6

Page 18: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

100%Virtuallyallorganizationrequiretheirmostcriticalsystemstobehighlyavailable

18

Page 19: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLInnoDB Cluster:Background

19

• HighAvailability– Critical Factor– Replicationasacommonsolution–MySQLhas support for:• Classic master-slave replication• DRDB• Other OSor VMsolutions ...

Page 20: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLInnoDB Cluster:Background

• HighAvailability– Critical Factor– Replicationasacommonsolution–MySQLhas support for:• Classic master-slave replication• DRDB• Other OSor VMsolutions ...

• GroupReplication– Virtuallysynchronousreplication– Update-everywhere– Automaticserverfail-over• Distributedrecovery

– Groupreconfiguration

20

Page 21: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLInnoDB Cluster:Background

• Challengingtask– Noteasytosetupandmaintain– Technicalknowledgeneeded– Howtoconfiguretheapplications?– Howtointegrateallthecomponents?

21

? ?

Page 22: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

MySQLInnoDB Cluster:Vision

22

– EngineeringTeam

“Asingleproduct— MySQL— withhighavailabilityandscalingfeaturesbakedin;providinganintegratedend-to-endsolutionthatiseasytouse.”

Page 23: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 23

Scale-OutHighPerformance

Ease-of-UseBuilt-inHA

Out-of-BoxSolutionEverythingIntegrated

MySQLInnoDBcluster

Page 24: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 24

InnoDB Cluster

MySQLGroupReplication

Page 25: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 25

AppServerswithMySQLRouter

InnoDB Cluster

MySQLGroupReplication

Page 26: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 26

AppServerswithMySQLRouter

InnoDB Cluster

MySQLGroupReplication

MySQLShellSetup,Manage,Orchestrate

Page 27: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 27

AppServerswithMySQLRouter

InnoDB Cluster

MySQLGroupReplication

MySQLShellSetup,Manage,Orchestrate Clients

Page 28: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 28

AppServerswithMySQLRouter

InnoDB Cluster

MySQLGroupReplication

MySQLShellSetup,Manage,Orchestrate Clients

OneProduct

FullStackHASolution

Easytouse!

Page 29: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

29

6

Page 30: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.

MySQLShellOps(administration)InnoDB ClusterLiveDemo!

Page 31: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

ProgramAgenda

IntroductiontoDevOps

MySQLShell

LiveDemo(Dev)

MySQLInnoDB Cluster

LiveDemo(Ops)

Summary

1

2

3

4

5

31

6

Page 32: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

Summary

• MySQLShellbringstogetherdevelopersandDBAs• Unifiedinterface:onetool!

• DevelopmentandAdministrationAPIs

• MySQLInnoDB ClusterisTHEMySQLNativeHAout-of-box solution:• Easytouse:usabilityasatopconcern

• Powerfulandflexible

• MySQLShellwithAdminAPI

32

Page 33: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|

Resources

• MySQLShellUserguide:– https://dev.mysql.com/doc/refman/en/mysql-shell.html

• InnoDB ClusterUserguide:– http://dev.mysql.com/doc/refman/en/mysql-innodb-cluster-userguide.html

• APIsReferencemanuals– JavaScript:https://dev.mysql.com/doc/dev/mysqlsh-api-javascript/

– Python:https://dev.mysql.com/doc/dev/mysqlsh-api-python/

• Blogging– http://mysqlserverteam.com/category/high-availability

33

Page 34: MySQL Shell - The DevOps Tool for MySQL

Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 34

Thankyou!Q/A

Page 35: MySQL Shell - The DevOps Tool for MySQL