Pluk2011 deploy-mysql-like-a-devops-sysadmin

228
Manage MySQL like a devops sysadmin Percona Live London 2011 Frédéric Descamps

Transcript of Pluk2011 deploy-mysql-like-a-devops-sysadmin

Page 1: Pluk2011 deploy-mysql-like-a-devops-sysadmin

Manage MySQL like a devops sysadmin

Percona Live London 2011

Frédéric Descamps

Page 2: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

Who am I ?

Frédéric Descamps

@lefred

http://about.be/lefred

Managing MySQL since 3.23 (as far as I remember)

devops believer

Page 3: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

Thank You to Our Sponsors

Platinum Sponsor

Gold Sponsor

Silver Sponsors

Page 4: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

Percona Live London Sponsors

Exhibitor Sponsors

Friends of Percona Sponsors

Media Sponsors

Page 5: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

To start with...

Let's use devops like

slides...

Page 6: Pluk2011 deploy-mysql-like-a-devops-sysadmin

6

Let's use devops like slides...

Page 7: Pluk2011 deploy-mysql-like-a-devops-sysadmin

7

from

Page 8: Pluk2011 deploy-mysql-like-a-devops-sysadmin

8

Page 9: Pluk2011 deploy-mysql-like-a-devops-sysadmin

9

to

Page 10: Pluk2011 deploy-mysql-like-a-devops-sysadmin

10

Page 11: Pluk2011 deploy-mysql-like-a-devops-sysadmin

11

devopsis a movement willing to help

aligning IT with company needs

(starting by aligning devs and ops)

@endemics - Gildas Le Nadan - “The Devops movement”, Mixit Lyon 2011

Page 12: Pluk2011 deploy-mysql-like-a-devops-sysadmin

12

devops is about communication !

Page 13: Pluk2011 deploy-mysql-like-a-devops-sysadmin

13

devops is about communication !

betweendev and ops

Page 14: Pluk2011 deploy-mysql-like-a-devops-sysadmin

14

devs ops

Small and frequent successful iterations

This is one of the most fundamental ideas in devops: the feedback loop !

Page 15: Pluk2011 deploy-mysql-like-a-devops-sysadmin

15

We can say that devops is bringing

together people and practices from

development and operations

Page 16: Pluk2011 deploy-mysql-like-a-devops-sysadmin

16

We can say that devops is bringing

together people and practices from

development and operations

I am a happy dev !I am a happy op !

Page 17: Pluk2011 deploy-mysql-like-a-devops-sysadmin

17

devops now

=● being professional● improving the collaboration by increasing trust and respect

Page 18: Pluk2011 deploy-mysql-like-a-devops-sysadmin

18

/me likes !

HOW can I reach that goal ?

Page 19: Pluk2011 deploy-mysql-like-a-devops-sysadmin

19

devops requires

visibility !

Page 20: Pluk2011 deploy-mysql-like-a-devops-sysadmin

20

Everybody should have a status overview

Is there any problem ? How are the test going ? How is performance ?

Page 21: Pluk2011 deploy-mysql-like-a-devops-sysadmin

21

devops is about CAMS

Page 22: Pluk2011 deploy-mysql-like-a-devops-sysadmin

22

CULTUREAUTOMATION

MEASUREMENTSHARING

@botchagalupe @damonedwards http://www.opscode.com/blog/2010/07/16/what-devops-means-to-me/

Page 23: Pluk2011 deploy-mysql-like-a-devops-sysadmin

23

What techniques can I use ?

Page 24: Pluk2011 deploy-mysql-like-a-devops-sysadmin

24

MonitoringInfrastructure as

CodeContinuous

Improvement

Page 25: Pluk2011 deploy-mysql-like-a-devops-sysadmin

25

What about DBAs ?

Page 26: Pluk2011 deploy-mysql-like-a-devops-sysadmin

26

Join the team, follow the

movement !

Page 27: Pluk2011 deploy-mysql-like-a-devops-sysadmin

27

You are already between devs

and ops

Page 28: Pluk2011 deploy-mysql-like-a-devops-sysadmin

28

You are already between devs

and ops

I am a happy dba !

Page 29: Pluk2011 deploy-mysql-like-a-devops-sysadmin

29

But we are still closer to the

dark side of the force: sysadmins

Page 30: Pluk2011 deploy-mysql-like-a-devops-sysadmin

30

But we are still closer to the

dark side of the force: sysadmins

Page 31: Pluk2011 deploy-mysql-like-a-devops-sysadmin

31

How can we apply devops

ideas to our dba job ?

Page 32: Pluk2011 deploy-mysql-like-a-devops-sysadmin

32

1. communication2. configuration

management3. testing4. visibility

Page 33: Pluk2011 deploy-mysql-like-a-devops-sysadmin

33

1. Communication

Usually DEVS communicatewith managers, quality managers, products managers, ...

Page 34: Pluk2011 deploy-mysql-like-a-devops-sysadmin

34

OPS “communicate” with support, ISP's and... their servers

Page 35: Pluk2011 deploy-mysql-like-a-devops-sysadmin

35

DBAs don't communicate

Page 36: Pluk2011 deploy-mysql-like-a-devops-sysadmin

36

The interaction between developers, sysadmins, dbas and all the actors

should begin from the start of any projects

Page 37: Pluk2011 deploy-mysql-like-a-devops-sysadmin

37

Page 38: Pluk2011 deploy-mysql-like-a-devops-sysadmin

38

Page 39: Pluk2011 deploy-mysql-like-a-devops-sysadmin

39

Discuss everything database related with developers and

sysadmins:

● disks and raid design● schema design & partitions● additional columns & indexes● tables repair, ...

Page 40: Pluk2011 deploy-mysql-like-a-devops-sysadmin

40

2. configuration management

Can we automate DBAs job ? Should we ? Even if we have only one database ?

Page 41: Pluk2011 deploy-mysql-like-a-devops-sysadmin

41

Page 42: Pluk2011 deploy-mysql-like-a-devops-sysadmin

42

Page 43: Pluk2011 deploy-mysql-like-a-devops-sysadmin

43

A lot of things to configure● binaries● databases ● configs● cron jobs● monitoring● grants● replication

Page 44: Pluk2011 deploy-mysql-like-a-devops-sysadmin

44

Documentation is needed and must be up to date

Page 45: Pluk2011 deploy-mysql-like-a-devops-sysadmin

45

Needs to be reproducible

quickly without missing anything !

Page 46: Pluk2011 deploy-mysql-like-a-devops-sysadmin

46

Keep track of any changes

Mind the gap

Page 47: Pluk2011 deploy-mysql-like-a-devops-sysadmin

47

3. testing

Test every changes

every new package... EVERYTHING

Page 48: Pluk2011 deploy-mysql-like-a-devops-sysadmin

48

4. visibility

Expose monitoring, trending, test results and project status

to EVERYONE in your company!!

Everybody should know why the database is slooooow !

Page 49: Pluk2011 deploy-mysql-like-a-devops-sysadmin

49

Use all these metrics to plan ahead all the changes !

NOT ALONE BUT WITH EVERYBODY

Page 50: Pluk2011 deploy-mysql-like-a-devops-sysadmin

50

notions practices

ideas methodologies

Page 51: Pluk2011 deploy-mysql-like-a-devops-sysadmin

51

We are DBAs we work with data,

we need something more

concrete !

Page 52: Pluk2011 deploy-mysql-like-a-devops-sysadmin

52

We are DBA's we work with data, we need

something more concrete !

Page 53: Pluk2011 deploy-mysql-like-a-devops-sysadmin

53

TRUE !

Page 54: Pluk2011 deploy-mysql-like-a-devops-sysadmin

54

communication

Page 55: Pluk2011 deploy-mysql-like-a-devops-sysadmin

55

Use an agile method to

handle your projects

Page 56: Pluk2011 deploy-mysql-like-a-devops-sysadmin

56

For operations the best method

is kanban

Page 57: Pluk2011 deploy-mysql-like-a-devops-sysadmin

57

Page 58: Pluk2011 deploy-mysql-like-a-devops-sysadmin

58

Page 59: Pluk2011 deploy-mysql-like-a-devops-sysadmin

59

Use dashboards and make them

available to EVERYONE

Page 60: Pluk2011 deploy-mysql-like-a-devops-sysadmin

60

share all your dashboards with

everybody in your company

Page 61: Pluk2011 deploy-mysql-like-a-devops-sysadmin

61

configuration management

Page 62: Pluk2011 deploy-mysql-like-a-devops-sysadmin

62

consider your infrastructure as

code

Page 63: Pluk2011 deploy-mysql-like-a-devops-sysadmin

63

Use puppet (or any other

configuration management tool) to deploy

everything related to your database

Page 64: Pluk2011 deploy-mysql-like-a-devops-sysadmin

64

Save your puppet recipes into a version control system

Page 65: Pluk2011 deploy-mysql-like-a-devops-sysadmin

65

but also save your database

schema changes in that system

Page 66: Pluk2011 deploy-mysql-like-a-devops-sysadmin

66

test

Page 67: Pluk2011 deploy-mysql-like-a-devops-sysadmin

67

Page 68: Pluk2011 deploy-mysql-like-a-devops-sysadmin

68

What should you test as a devops

dba ?

Page 69: Pluk2011 deploy-mysql-like-a-devops-sysadmin

69

Test if you can deploy

everything and if you didn't forget

anything

Page 70: Pluk2011 deploy-mysql-like-a-devops-sysadmin

70

Test also the performance !Is it faster with this change ?

Page 71: Pluk2011 deploy-mysql-like-a-devops-sysadmin

71

use Percona Toolkit

Page 72: Pluk2011 deploy-mysql-like-a-devops-sysadmin

72

automate your tests

Page 73: Pluk2011 deploy-mysql-like-a-devops-sysadmin

73

visibility

Page 74: Pluk2011 deploy-mysql-like-a-devops-sysadmin

74

monitoring

Page 75: Pluk2011 deploy-mysql-like-a-devops-sysadmin

75

Monitor your database with an alerting system (nagios).

Disk/IO, CPU load, Network traffic, disk usage

Page 76: Pluk2011 deploy-mysql-like-a-devops-sysadmin

76

But do you want to be woken up at night

because replication of the machine taking backups is 60sec

behind ?

Page 77: Pluk2011 deploy-mysql-like-a-devops-sysadmin

77

NO!

Page 78: Pluk2011 deploy-mysql-like-a-devops-sysadmin

78

Then do you want to be woken up in the middle

of the night because they are 1000 more selects than usual ?

Page 79: Pluk2011 deploy-mysql-like-a-devops-sysadmin

79

NO!

Page 80: Pluk2011 deploy-mysql-like-a-devops-sysadmin

80

Your alerting should answer those questions:

Is the database server running ?Does it allow connections ?

Is replication lagging on production slaves ?

Page 81: Pluk2011 deploy-mysql-like-a-devops-sysadmin

81

trending

Page 82: Pluk2011 deploy-mysql-like-a-devops-sysadmin

82

The most interesting facts for a DBA are the trending

results !

Use cacti ... with mysql templates !

They provide very good metrics

Page 83: Pluk2011 deploy-mysql-like-a-devops-sysadmin

83

Correlate changes in the trending results

with your configuration changes...

everything should be tracked

Page 84: Pluk2011 deploy-mysql-like-a-devops-sysadmin

84

others ?

Page 85: Pluk2011 deploy-mysql-like-a-devops-sysadmin

85

You can also use other “devops”

oriented tools like :

Page 86: Pluk2011 deploy-mysql-like-a-devops-sysadmin

86

puppet-dashboard

with kanban plugin

Page 87: Pluk2011 deploy-mysql-like-a-devops-sysadmin

87

If there is only one thing you

remember from this presentation

Page 88: Pluk2011 deploy-mysql-like-a-devops-sysadmin

88

Yes, even a schema change

MUST be considered like a

migration !

Page 89: Pluk2011 deploy-mysql-like-a-devops-sysadmin

89

review ittest itplan itdo it

Page 90: Pluk2011 deploy-mysql-like-a-devops-sysadmin

90

and now that we have a

devdbaops team

Page 91: Pluk2011 deploy-mysql-like-a-devops-sysadmin

91

we can start working on

really interesting tasks for

everyone

Page 92: Pluk2011 deploy-mysql-like-a-devops-sysadmin

92

the smooth

migration

Page 93: Pluk2011 deploy-mysql-like-a-devops-sysadmin

93

When this goal is achieved

DEVS have less pressureOPS have less pressureDBAs have less pressure

Page 94: Pluk2011 deploy-mysql-like-a-devops-sysadmin

94

collaboration =

less pressure

Page 95: Pluk2011 deploy-mysql-like-a-devops-sysadmin

95

Page 96: Pluk2011 deploy-mysql-like-a-devops-sysadmin

96

v 1.9application v 2.0

db schema

v 1.9 v 2.0

present future

Page 97: Pluk2011 deploy-mysql-like-a-devops-sysadmin

97

v 1.9application v 2.0

db schema

v 1.9 v 2.0

present future

Page 98: Pluk2011 deploy-mysql-like-a-devops-sysadmin

98

v 1.9application v 2.0

db schema

v 1.9 v 2.0

present

Page 99: Pluk2011 deploy-mysql-like-a-devops-sysadmin

99

v 1.9application v 2.0

db schema

v 1.9 v 2.0

present Issue !!

Page 100: Pluk2011 deploy-mysql-like-a-devops-sysadmin

100

v 1.9application v 2.0

db schema

v 1.9 v 2.0

Page 101: Pluk2011 deploy-mysql-like-a-devops-sysadmin

101

v 1.9application v 2.0

db schema

v 1.9 v 2.0

Issue !!

Page 102: Pluk2011 deploy-mysql-like-a-devops-sysadmin

102

v 1.9application v 2.0

db schema

v 1.9 v 2.0

Page 103: Pluk2011 deploy-mysql-like-a-devops-sysadmin

103

This can only be the result of

Page 104: Pluk2011 deploy-mysql-like-a-devops-sysadmin

104

collaboration between DEVS,

DBAs & OPS

Page 105: Pluk2011 deploy-mysql-like-a-devops-sysadmin

105

demo

Page 106: Pluk2011 deploy-mysql-like-a-devops-sysadmin

106

gitpuppet

Percona serverJenkins

VirtualBoxvagrant

mcollective

Page 107: Pluk2011 deploy-mysql-like-a-devops-sysadmin

107

Change the schema (add an index for example)

Commit !

Page 108: Pluk2011 deploy-mysql-like-a-devops-sysadmin

108

Launches a new virtual machine from scratch using vagrant

Install everything and populate a test db

Page 109: Pluk2011 deploy-mysql-like-a-devops-sysadmin

109

Start some tests with pt-query-digest and compares to old values

Faster is a success

Slower is a fail

Page 110: Pluk2011 deploy-mysql-like-a-devops-sysadmin

110

Photo Credit: http://www.flickr.com/photos/kuma-kigurumi/http://www.flickr.com/photos/airforceone/2125791018/http://www.flickr.com/photos/akosvaradi/2617404213/http://www.flickr.com/photos/doberdad/2264130166http://www.flickr.com/photos/tomsaint/2714401733http://www.flickr.com/photos/10335017@N07/4570943373/http://www.bxel.net/metro-de-bruxelles/metro_plan_bruxelles.jpghttp://www.flickr.com/photos/youngkimstudio/6216328782http://www.flickr.com/photos/26676383@N00/3690701110/http://www.flickr.com/photos/blubbla/209864856http://www.flickr.com/photos/chrishuffman/2336990347http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0153922fa2ee970b-pi

Projects links: http://puppetlabs.com/resources/overview-2/http://puppetlabs.com/puppet/related-projects/dashboard/http://theforeman.org/http://git-scm.com/http://www.redmine.org/http://www.redmine.org/projects/redmine/wiki/PluginKanbanhttp://vagrantup.comhttps://www.virtualbox.org/http://jenkins-ci.org/http://www.percona.com/software/percona-toolkit/http://code.google.com/p/mysql-cacti-templates/

Page 111: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

You can find all these recipes here !

Page 112: Pluk2011 deploy-mysql-like-a-devops-sysadmin

[email protected]@lefred

We're Hiring! www.percona.com/about-us/careers/

Page 113: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.com

Annual MySQL Users Conference Presented by Percona Live

The Hyatt Regency Hotel, Santa Clara, CA

April 10th-12th, 2012

Featured SpeakersMark Callaghan, Facebook

Jeremy Zawodny, Craigslist

Marten Mickos, Eucalyptus Systems

Sarah Novotny, Blue Gecko

Peter Zaitsev, Percona

Baron Schwartz, Percona

The Call for Papers is Now Open!

Visit www.percona.com/live/mysql-conference-2012/

Page 114: Pluk2011 deploy-mysql-like-a-devops-sysadmin

114

Questions ?

114

Thank you !

Page 115: Pluk2011 deploy-mysql-like-a-devops-sysadmin

Manage MySQL like a devops sysadmin Percona Live London 2011Frédéric Descamps

Page 116: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comWho am I ?Frédéric Descamps@lefredhttp://about.be/lefredManaging MySQL since 3.23 (as far as I remember)devops believer

Page 117: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comThank You to Our SponsorsPlatinum SponsorGold SponsorSilver Sponsors

Page 118: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comPercona Live London SponsorsExhibitor SponsorsFriends of Percona SponsorsMedia Sponsors

Page 119: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comTo start with...Let's use devops like slides...

Page 120: Pluk2011 deploy-mysql-like-a-devops-sysadmin

6Let's use devops like slides...

Page 121: Pluk2011 deploy-mysql-like-a-devops-sysadmin

7from

Page 122: Pluk2011 deploy-mysql-like-a-devops-sysadmin

8

Page 123: Pluk2011 deploy-mysql-like-a-devops-sysadmin

9to

Page 124: Pluk2011 deploy-mysql-like-a-devops-sysadmin

10

Page 125: Pluk2011 deploy-mysql-like-a-devops-sysadmin

11devopsis a movement willing to help aligning IT with company needs(starting by aligning devs and ops) @endemics - Gildas Le Nadan - “The Devops movement”, Mixit Lyon 2011

Page 126: Pluk2011 deploy-mysql-like-a-devops-sysadmin

12devops is about communication !

Page 127: Pluk2011 deploy-mysql-like-a-devops-sysadmin

13devops is about communication !betweendev and ops

Page 128: Pluk2011 deploy-mysql-like-a-devops-sysadmin

14devs opsSmall and frequent successful iterationsThis is one of the most fundamental ideas in devops: the feedback loop !

Page 129: Pluk2011 deploy-mysql-like-a-devops-sysadmin

15We can say that devops is bringing together people and practices from development and operations

Page 130: Pluk2011 deploy-mysql-like-a-devops-sysadmin

16We can say that devops is bringing together people and practices from development and operationsI am a happy dev !I am a happy op !

Page 131: Pluk2011 deploy-mysql-like-a-devops-sysadmin

17devops now =● being professional● improving the collaboration by increasing trust and respect

Page 132: Pluk2011 deploy-mysql-like-a-devops-sysadmin

18/me likes ! HOW can I reach that goal ?

Page 133: Pluk2011 deploy-mysql-like-a-devops-sysadmin

19devops requiresvisibility !

Page 134: Pluk2011 deploy-mysql-like-a-devops-sysadmin

20Everybody should have a status overviewIs there any problem ? How are the test going ? How is performance ?

Page 135: Pluk2011 deploy-mysql-like-a-devops-sysadmin

21devops is about CAMS

Page 136: Pluk2011 deploy-mysql-like-a-devops-sysadmin

22CULTUREAUTOMATIONMEASUREMENTSHARING@botchagalupe @damonedwards http://www.opscode.com/blog/2010/07/16/what-devops-means-to-me/

Page 137: Pluk2011 deploy-mysql-like-a-devops-sysadmin

23What techniques can I use ?

Page 138: Pluk2011 deploy-mysql-like-a-devops-sysadmin

24MonitoringInfrastructure as CodeContinuous Improvement

Page 139: Pluk2011 deploy-mysql-like-a-devops-sysadmin

25What about DBAs ?

Page 140: Pluk2011 deploy-mysql-like-a-devops-sysadmin

26Join the team, follow the movement !

Page 141: Pluk2011 deploy-mysql-like-a-devops-sysadmin

27You are already between devs and ops

Page 142: Pluk2011 deploy-mysql-like-a-devops-sysadmin

28You are already between devs and opsI am a happy dba !

Page 143: Pluk2011 deploy-mysql-like-a-devops-sysadmin

29But we are still closer to the dark side of the force: sysadmins

Page 144: Pluk2011 deploy-mysql-like-a-devops-sysadmin

30But we are still closer to the dark side of the force: sysadmins

Page 145: Pluk2011 deploy-mysql-like-a-devops-sysadmin

31How can we apply devops ideas to our dba job ?

Page 146: Pluk2011 deploy-mysql-like-a-devops-sysadmin

321. communication2. configuration management3. testing4. visibility

Page 147: Pluk2011 deploy-mysql-like-a-devops-sysadmin

331. CommunicationUsually DEVS communicatewith managers, quality managers, products managers, ...

Page 148: Pluk2011 deploy-mysql-like-a-devops-sysadmin

34OPS “communicate” with support, ISP's and... their servers

Page 149: Pluk2011 deploy-mysql-like-a-devops-sysadmin

35DBAs don't communicate

Page 150: Pluk2011 deploy-mysql-like-a-devops-sysadmin

36The interaction between developers, sysadmins, dbas and all the actors should begin from the start of any projects

Page 151: Pluk2011 deploy-mysql-like-a-devops-sysadmin

37

Page 152: Pluk2011 deploy-mysql-like-a-devops-sysadmin

38

Page 153: Pluk2011 deploy-mysql-like-a-devops-sysadmin

39Discuss everything database related with developers and sysadmins:● disks and raid design● schema design & partitions● additional columns & indexes● tables repair, ...

Page 154: Pluk2011 deploy-mysql-like-a-devops-sysadmin

402. configuration managementCan we automate DBAs job ? Should we ? Even if we have only one database ?

Page 155: Pluk2011 deploy-mysql-like-a-devops-sysadmin

41

Page 156: Pluk2011 deploy-mysql-like-a-devops-sysadmin

42

Page 157: Pluk2011 deploy-mysql-like-a-devops-sysadmin

43A lot of things to configure● binaries● databases ● configs● cron jobs● monitoring● grants● replication

Page 158: Pluk2011 deploy-mysql-like-a-devops-sysadmin

44Documentation is needed and must be up to date

Page 159: Pluk2011 deploy-mysql-like-a-devops-sysadmin

45Needs to be reproduciblequickly without missing anything !

Page 160: Pluk2011 deploy-mysql-like-a-devops-sysadmin

46Keep track of any changesMind the gap

Page 161: Pluk2011 deploy-mysql-like-a-devops-sysadmin

473. testingTest every changes every new package... EVERYTHING

Page 162: Pluk2011 deploy-mysql-like-a-devops-sysadmin

484. visibilityExpose monitoring, trending, test results and project status to EVERYONE in your company!!Everybody should know why the database is slooooow !

Page 163: Pluk2011 deploy-mysql-like-a-devops-sysadmin

49Use all these metrics to plan ahead all the changes !NOT ALONE BUT WITH EVERYBODY

Page 164: Pluk2011 deploy-mysql-like-a-devops-sysadmin

50notions practicesideas methodologies

Page 165: Pluk2011 deploy-mysql-like-a-devops-sysadmin

51We are DBAs we work with data, we need something more concrete !

Page 166: Pluk2011 deploy-mysql-like-a-devops-sysadmin

52We are DBA's we work with data, we need something more concrete !

Page 167: Pluk2011 deploy-mysql-like-a-devops-sysadmin

53TRUE !

Page 168: Pluk2011 deploy-mysql-like-a-devops-sysadmin

54communication

Page 169: Pluk2011 deploy-mysql-like-a-devops-sysadmin

55Use an agile method to handle your projects

Page 170: Pluk2011 deploy-mysql-like-a-devops-sysadmin

56For operations the best method is kanban

Page 171: Pluk2011 deploy-mysql-like-a-devops-sysadmin

57

Page 172: Pluk2011 deploy-mysql-like-a-devops-sysadmin

58

Page 173: Pluk2011 deploy-mysql-like-a-devops-sysadmin

59Use dashboards and make them available to EVERYONE

Page 174: Pluk2011 deploy-mysql-like-a-devops-sysadmin

60share all your dashboards with everybody in your company

Page 175: Pluk2011 deploy-mysql-like-a-devops-sysadmin

61configuration management

Page 176: Pluk2011 deploy-mysql-like-a-devops-sysadmin

62consider your infrastructure as code

Page 177: Pluk2011 deploy-mysql-like-a-devops-sysadmin

63Use puppet (or any other configuration management tool) to deploy everything related to your database

Page 178: Pluk2011 deploy-mysql-like-a-devops-sysadmin

64Save your puppet recipes into a version control system

Page 179: Pluk2011 deploy-mysql-like-a-devops-sysadmin

65but also save your database schema changes in that system

Page 180: Pluk2011 deploy-mysql-like-a-devops-sysadmin

66test

Page 181: Pluk2011 deploy-mysql-like-a-devops-sysadmin

67

Page 182: Pluk2011 deploy-mysql-like-a-devops-sysadmin

68What should you test as a devops dba ?

Page 183: Pluk2011 deploy-mysql-like-a-devops-sysadmin

69Test if you can deploy everything and if you didn't forget anything

Page 184: Pluk2011 deploy-mysql-like-a-devops-sysadmin

70Test also the performance !Is it faster with this change ?

Page 185: Pluk2011 deploy-mysql-like-a-devops-sysadmin

71use Percona Toolkit

Page 186: Pluk2011 deploy-mysql-like-a-devops-sysadmin

72automate your tests

Page 187: Pluk2011 deploy-mysql-like-a-devops-sysadmin

73visibility

Page 188: Pluk2011 deploy-mysql-like-a-devops-sysadmin

74monitoring

Page 189: Pluk2011 deploy-mysql-like-a-devops-sysadmin

75Monitor your database with an alerting system (nagios). Disk/IO, CPU load, Network traffic, disk usage

Page 190: Pluk2011 deploy-mysql-like-a-devops-sysadmin

76But do you want to be woken up at night because replication of the machine taking backups is 60sec behind ?

Page 191: Pluk2011 deploy-mysql-like-a-devops-sysadmin

77NO!

Page 192: Pluk2011 deploy-mysql-like-a-devops-sysadmin

78Then do you want to be woken up in the middle of the night because they are 1000 more selects than usual ?

Page 193: Pluk2011 deploy-mysql-like-a-devops-sysadmin

79NO!

Page 194: Pluk2011 deploy-mysql-like-a-devops-sysadmin

80Your alerting should answer those questions:Is the database server running ?Does it allow connections ?Is replication lagging on production slaves ?

Page 195: Pluk2011 deploy-mysql-like-a-devops-sysadmin

81trending

Page 196: Pluk2011 deploy-mysql-like-a-devops-sysadmin

82The most interesting facts for a DBA are the trending results !Use cacti ... with mysql templates !They provide very good metrics

Page 197: Pluk2011 deploy-mysql-like-a-devops-sysadmin

83Correlate changes in the trending results with your configuration changes... everything should be tracked

Page 198: Pluk2011 deploy-mysql-like-a-devops-sysadmin

84others ?

Page 199: Pluk2011 deploy-mysql-like-a-devops-sysadmin

85You can also use other “devops” oriented tools like :

Page 200: Pluk2011 deploy-mysql-like-a-devops-sysadmin

86puppet-dashboardwith kanban plugin

Page 201: Pluk2011 deploy-mysql-like-a-devops-sysadmin

87If there is only one thing you remember from this presentation

Page 202: Pluk2011 deploy-mysql-like-a-devops-sysadmin

88Yes, even a schema change MUST be considered like a migration !

Page 203: Pluk2011 deploy-mysql-like-a-devops-sysadmin

89review ittest itplan itdo it

Page 204: Pluk2011 deploy-mysql-like-a-devops-sysadmin

90and now that we have a devdbaops team

Page 205: Pluk2011 deploy-mysql-like-a-devops-sysadmin

91we can start working on really interesting tasks for everyone

Page 206: Pluk2011 deploy-mysql-like-a-devops-sysadmin

92the smooth migration

Page 207: Pluk2011 deploy-mysql-like-a-devops-sysadmin

93When this goal is achievedDEVS have less pressureOPS have less pressureDBAs have less pressure

Page 208: Pluk2011 deploy-mysql-like-a-devops-sysadmin

94collaboration =less pressure

Page 209: Pluk2011 deploy-mysql-like-a-devops-sysadmin

95

Page 210: Pluk2011 deploy-mysql-like-a-devops-sysadmin

96v 1.9applicationv 2.0db schemav 1.9v 2.0presentfuture

Page 211: Pluk2011 deploy-mysql-like-a-devops-sysadmin

97v 1.9applicationv 2.0db schemav 1.9v 2.0presentfuture

Page 212: Pluk2011 deploy-mysql-like-a-devops-sysadmin

98v 1.9applicationv 2.0db schemav 1.9v 2.0present

Page 213: Pluk2011 deploy-mysql-like-a-devops-sysadmin

99v 1.9applicationv 2.0db schemav 1.9v 2.0presentIssue !!

Page 214: Pluk2011 deploy-mysql-like-a-devops-sysadmin

100v 1.9applicationv 2.0db schemav 1.9v 2.0

Page 215: Pluk2011 deploy-mysql-like-a-devops-sysadmin

101v 1.9applicationv 2.0db schemav 1.9v 2.0Issue !!

Page 216: Pluk2011 deploy-mysql-like-a-devops-sysadmin

102v 1.9applicationv 2.0db schemav 1.9v 2.0

Page 217: Pluk2011 deploy-mysql-like-a-devops-sysadmin

103This can only be the result of

Page 218: Pluk2011 deploy-mysql-like-a-devops-sysadmin

104 collaboration between DEVS, DBAs & OPS

Page 219: Pluk2011 deploy-mysql-like-a-devops-sysadmin

105demo

Page 220: Pluk2011 deploy-mysql-like-a-devops-sysadmin

106gitpuppetPercona serverJenkinsVirtualBoxvagrantmcollective

Page 221: Pluk2011 deploy-mysql-like-a-devops-sysadmin

107Change the schema (add an index for example)Commit !

Page 222: Pluk2011 deploy-mysql-like-a-devops-sysadmin

108Launches a new virtual machine from scratch using vagrantInstall everything and populate a test db

Page 223: Pluk2011 deploy-mysql-like-a-devops-sysadmin

109Start some tests with pt-query-digest and compares to old valuesFaster is a successSlower is a fail

Page 224: Pluk2011 deploy-mysql-like-a-devops-sysadmin

110Photo Credit: http://www.flickr.com/photos/kuma-kigurumi/http://www.flickr.com/photos/airforceone/2125791018/http://www.flickr.com/photos/akosvaradi/2617404213/http://www.flickr.com/photos/doberdad/2264130166http://www.flickr.com/photos/tomsaint/2714401733http://www.flickr.com/photos/10335017@N07/4570943373/http://www.bxel.net/metro-de-bruxelles/metro_plan_bruxelles.jpghttp://www.flickr.com/photos/youngkimstudio/6216328782http://www.flickr.com/photos/26676383@N00/3690701110/http://www.flickr.com/photos/blubbla/209864856http://www.flickr.com/photos/chrishuffman/2336990347http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0153922fa2ee970b-piProjects links: http://puppetlabs.com/resources/overview-2/http://puppetlabs.com/puppet/related-projects/dashboard/http://theforeman.org/http://git-scm.com/http://www.redmine.org/http://www.redmine.org/projects/redmine/wiki/PluginKanbanhttp://vagrantup.comhttps://www.virtualbox.org/http://jenkins-ci.org/http://www.percona.com/software/percona-toolkit/http://code.google.com/p/mysql-cacti-templates/

Page 225: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comYou can find all these recipes here !

Page 226: Pluk2011 deploy-mysql-like-a-devops-sysadmin

[email protected]@lefred

We're Hiring! www.percona.com/about-us/careers/

Page 227: Pluk2011 deploy-mysql-like-a-devops-sysadmin

www.percona.comAnnual MySQL Users Conference Presented by Percona LiveThe Hyatt Regency Hotel, Santa Clara, CAApril 10th-12th, 2012Featured SpeakersMark Callaghan, FacebookJeremy Zawodny, CraigslistMarten Mickos, Eucalyptus SystemsSarah Novotny, Blue GeckoPeter Zaitsev, PerconaBaron Schwartz, PerconaThe Call for Papers is Now Open!Visit www.percona.com/live/mysql-conference-2012/

Page 228: Pluk2011 deploy-mysql-like-a-devops-sysadmin

114Questions ?114Thank you !