Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.
MySQLShellTheDevOps ToolforMySQL
MiguelAraújoSeniorSoftwareDeveloperMySQLMiddlewareandClientsOctober02,2017
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
SafeHarborStatementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.
3
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
4
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
5
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 6
Introduction- DevOps
DEVOPS
SoftwareOperationsSoftwareDevelopment
… It’sallaboutCAMS*!*DamonEdwards and JohnWillis atDevOpsDays Mountainview 2010
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 7
Introduction- DevOps
… meaningful monitoring data
Measurement
… quality,speed,consistency...people and processesi.e.communication
… information,tools,lessons
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
DevOps:Goals
• Continuous,fasterdevelopment
• Fastertimetodeliver
• Lowerthefailurerate
• Reducedependencyofstaffthatownsalltheknowledgebysharingthecompetencestoalltheteam
8
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
DevOps:How?
• Culture– Reducefrictionbetweenteams– Bettercollaborationbetweenteams– Shareknowledgeandroles– Developers,sysadminsandDBAsmustsharework,decisionsandideas
• Automation– Systemsandscenariosneedtobeabletobeeasilyandquicklyreproducible– Useautomationtoolsfordeploymentandconfiguration(puppet,chef,etc)– Deployingsystemsbecomeseasiertoeveryoneandastandard– Lowerstherisk
9
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
DevOps:How?
• Measurement–Monitoring– Checktheservicestatus– Learntheinfrastructure– Anticipatefailuresandneeds– Actfast!
• Sharing– Shareallmonitoringinfo– Sharetestresultsandbuilds– Allowsbeingabletoplanahead!
10
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
11
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLShell:Intro
• Interactivemulti-languageinterfacethatsupportsdevelopmentandadministrationfortheMySQLServer
• IntegratingpartoftheServer,asacomponent
• Canbeusedtoperformdataqueriesorupdates,andadministrationoperations
12
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLShell:Goal
• OnetoolforMySQLdevelopmentandadministrativetasks
• NaturalinterfaceforallMySQLrelated”DevOps”!
– Unified InterfaceforDevelopersandDBAs
• Intuitive,flexibleandpowerful
• ProvidesscriptingwithdevelopmentandadministrativeAPIs
13
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLShell:Features(Dev)
• Interactivemulti-languagesupport– JavaScript,PythonandSQL– Bothinteractiveandbatchoperations
• DocumentandRelationalmodels– Supportstheclassicrelationalmodel–ModernfluentAPIfortheMySQLDocumentStore• CRUDandRelational
– SupportsthetraditionalTableresults,aswellasJSONorTabseparatedoutput
14
MySQLDevelopment
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.
MySQLShellDevelopmentLiveDemo!
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
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
17
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
100%Virtuallyallorganizationrequiretheirmostcriticalsystemstobehighlyavailable
18
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLInnoDB Cluster:Background
19
• HighAvailability– Critical Factor– Replicationasacommonsolution–MySQLhas support for:• Classic master-slave replication• DRDB• Other OSor VMsolutions ...
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
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLInnoDB Cluster:Background
• Challengingtask– Noteasytosetupandmaintain– Technicalknowledgeneeded– Howtoconfiguretheapplications?– Howtointegrateallthecomponents?
21
? ?
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
MySQLInnoDB Cluster:Vision
22
– EngineeringTeam
“Asingleproduct— MySQL— withhighavailabilityandscalingfeaturesbakedin;providinganintegratedend-to-endsolutionthatiseasytouse.”
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 23
Scale-OutHighPerformance
Ease-of-UseBuilt-inHA
Out-of-BoxSolutionEverythingIntegrated
MySQLInnoDBcluster
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 24
InnoDB Cluster
MySQLGroupReplication
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 25
AppServerswithMySQLRouter
InnoDB Cluster
MySQLGroupReplication
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 26
AppServerswithMySQLRouter
InnoDB Cluster
MySQLGroupReplication
MySQLShellSetup,Manage,Orchestrate
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 27
AppServerswithMySQLRouter
InnoDB Cluster
MySQLGroupReplication
MySQLShellSetup,Manage,Orchestrate Clients
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.| 28
AppServerswithMySQLRouter
InnoDB Cluster
MySQLGroupReplication
MySQLShellSetup,Manage,Orchestrate Clients
OneProduct
FullStackHASolution
Easytouse!
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
29
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|Copyright©2017,Oracleand/oritsaffiliates.Allrightsreserved.
MySQLShellOps(administration)InnoDB ClusterLiveDemo!
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
ProgramAgenda
IntroductiontoDevOps
MySQLShell
LiveDemo(Dev)
MySQLInnoDB Cluster
LiveDemo(Ops)
Summary
1
2
3
4
5
31
6
Copyright©2017, Oracleand/oritsaffiliates.Allrightsreserved.|
Summary
• MySQLShellbringstogetherdevelopersandDBAs• Unifiedinterface:onetool!
• DevelopmentandAdministrationAPIs
• MySQLInnoDB ClusterisTHEMySQLNativeHAout-of-box solution:• Easytouse:usabilityasatopconcern
• Powerfulandflexible
• MySQLShellwithAdminAPI
32
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