DevOps, beyond agile

51
; DevOps, beyond Agile DevOps, beyond Agile Julien Pivotto Julien Pivotto Agile Tour Louvain-la-Neuve 2013 Agile Tour Louvain-la-Neuve 2013 October 31, 2013 October 31, 2013
  • date post

    13-Sep-2014
  • Category

    Technology

  • view

    4.020
  • download

    2

description

Conference given at la Journée de l'agile 2013 Louvain La Neuve http://journeeagile.be

Transcript of DevOps, beyond agile

Page 1: DevOps, beyond agile

;

DevOps, beyond AgileDevOps, beyond Agile

Julien PivottoJulien Pivotto

Agile Tour Louvain-la-Neuve 2013Agile Tour Louvain-la-Neuve 2013October 31, 2013October 31, 2013

Page 2: DevOps, beyond agile

;

whoamiwhoami• sysadmin @ inuitssysadmin @ inuits• open-source defender for 7+ yearsopen-source defender for 7+ years• devops believerdevops believer• @roidelapluie on twitter/github@roidelapluie on twitter/github

Julien Pivotto DevOps 101

Page 3: DevOps, beyond agile

;

What is DevOps?What is DevOps?

Julien Pivotto DevOps 101

Page 4: DevOps, beyond agile

;

A dev shopA dev shop• Friday 5 pm: put this tarball live, NOWFriday 5 pm: put this tarball live, NOW• It works on my machineIt works on my machine• We need this yesterdayWe need this yesterday• You must have the wrong versionYou must have the wrong version

Julien Pivotto DevOps 101

Page 5: DevOps, beyond agile

;

An ops shopAn ops shop

• What are the dependencies?What are the dependencies?• No machines available. . .No machines available. . .• Which database?Which database?• High availability?High availability?• Scalability?Scalability?

Julien Pivotto DevOps 101

Page 6: DevOps, beyond agile

;

DevDev• New releasesNew releases• New featuresNew features• Speed of changeSpeed of change

OpsOps• StabilityStability• AvailabilityAvailability• SecuritySecurity

Julien Pivotto DevOps 101

Page 7: DevOps, beyond agile

;

Dev vs OpsDev vs Ops

http://www.flickr.com/photos/lisadragon/3830252720/

Julien Pivotto DevOps 101

Page 8: DevOps, beyond agile

;

But. . .But. . .• Ops code tooOps code too

• Bash scripting, pythonBash scripting, python• I A CI A C

• Dev do sysadmin workDev do sysadmin work• TestingTesting• Database migrationsDatabase migrations

Julien Pivotto DevOps 101

Page 9: DevOps, beyond agile

;

But. . .But. . .

• IT evolvesIT evolves• More velocityMore velocity• More changesMore changes• Volative envVolative env• Large scale appsLarge scale apps• No space for old teamsNo space for old teams• No space for slow movesNo space for slow moves

Julien Pivotto DevOps 101

Page 10: DevOps, beyond agile

;

So, what is DevOps?So, what is DevOps?

Julien Pivotto DevOps 101

Page 11: DevOps, beyond agile

;

DevOps daysDevOps days• 200X-2009: World200X-2009: World

Patrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris

Buytaert, Jezz Humble, Lindsay Holmwood, John Willis, Chris Read,

Julian Simpson, Luke Kanies, John Allspaw and lots of others. . .

• 2009: Ghent2009: Ghent• Dozens of others since thenDozens of others since then• Conferences and open-spacesConferences and open-spaces• A lot of backlog availableA lot of backlog available

Julien Pivotto DevOps 101

Page 12: DevOps, beyond agile

;

DevOps is a cultural andDevOps is a cultural andprofessional movementprofessional movement

Adam Jacob, OpsCodeAdam Jacob, OpsCode

Julien Pivotto DevOps 101

Page 13: DevOps, beyond agile

;

• CultureCulture• AutomationAutomation• MeasurementMeasurement• SharingSharing

John Willis and Damon EdwardsJohn Willis and Damon Edwards

Julien Pivotto DevOps 101

Page 14: DevOps, beyond agile

;

What it will bring youWhat it will bring you

• Faster time to marketFaster time to market• Deploy oftenDeploy often• A reliable wayA reliable way• AutomatedAutomated• Everyone is happyEveryone is happy

Julien Pivotto DevOps 101

Page 15: DevOps, beyond agile

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

Page 16: DevOps, beyond agile

;

Burn the SilosBurn the Silos

http://www.flickr.com/photos/tinou/178796318/

Julien Pivotto DevOps 101

Page 17: DevOps, beyond agile

;

Build one teamBuild one team• People with different skillsPeople with different skills

• DevelopmentDevelopment• CI, CDCI, CD• TestingTesting• InfrastructureInfrastructure• MonitoringMonitoring

• One goal = help the businessOne goal = help the business

Julien Pivotto DevOps 101

Page 18: DevOps, beyond agile

;

Enable communicationEnable communication

http://www.flickr.com/photos/shelleygibb/3372412222/

Julien Pivotto DevOps 101

Page 19: DevOps, beyond agile

;

CommunicationCommunication• Sit togetherSit together• Standup (virtual, physical)Standup (virtual, physical)• Mails, XMPPMails, XMPP• Enable direct communicationEnable direct communication• One languageOne language

Julien Pivotto DevOps 101

Page 20: DevOps, beyond agile

;

Build TrustBuild Trust• ExperimentExperiment• Measure successMeasure success• Measure failureMeasure failure• Automate the thingsAutomate the things• Trust between peopleTrust between people

Julien Pivotto DevOps 101

Page 21: DevOps, beyond agile

;

Play togetherPlay together

http://www.flickr.com/photos/kona99/3987853510/

Julien Pivotto DevOps 101

Page 22: DevOps, beyond agile

;

Play togetherPlay together

• More ideasMore ideas• Sharing responsabilitySharing responsability• Different approachesDifferent approaches• More funMore fun

Julien Pivotto DevOps 101

Page 23: DevOps, beyond agile

;

Taking responsabilitiesTaking responsabilities

http://www.flickr.com/photos/pointshoot/1144799868/

Julien Pivotto DevOps 101

Page 24: DevOps, beyond agile

;

Give AccessGive Access

• Shared goal, problems, responsabilitiesShared goal, problems, responsabilities• Everyone is on callEveryone is on call• Full platform access: logs/metrics/toolsFull platform access: logs/metrics/tools• Do you let a blind paint your house?Do you let a blind paint your house?

Julien Pivotto DevOps 101

Page 25: DevOps, beyond agile

;

Agile?Agile?

• DevOps is not against agileDevOps is not against agile• Not a reaction to agileNot a reaction to agile• Pushing Agile to its limitsPushing Agile to its limits• Definition of doneDefinition of done

• TestedTested• In prodIn prod• Monitored and in prodMonitored and in prod• . . .. . .

Julien Pivotto DevOps 101

Page 26: DevOps, beyond agile

;

A software project is NOT doneA software project is NOT doneuntil your last user is deaduntil your last user is dead

Kris BuytaertKris Buytaert

Julien Pivotto DevOps 101

Page 27: DevOps, beyond agile

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

Page 28: DevOps, beyond agile

;

Automate all the thingsAutomate all the things• Reproducable buildReproducable build

• Build on a prod-like environmentBuild on a prod-like environment• No more "works on my machine"No more "works on my machine"

• TestTest• Testing reduces riskTesting reduces risk• Make you more confidentMake you more confident

• DeployDeploy

Julien Pivotto DevOps 101

Page 29: DevOps, beyond agile

;

Continuous integrationContinuous integration

• Build each commitBuild each commit• Nightly, weeklyNightly, weekly• Integrate, deploy and deliverIntegrate, deploy and deliver• Git push and get feedbackGit push and get feedback

Julien Pivotto DevOps 101

Page 30: DevOps, beyond agile

;

Test automationTest automation

• Unit testsUnit tests• Regression testsRegression tests• Compatibility testsCompatibility tests• Selenium, cucumber, . . .Selenium, cucumber, . . .• TTDTTD

Julien Pivotto DevOps 101

Page 31: DevOps, beyond agile

;

CI CD CDCI CD CD

• Continuous integration (>dev)Continuous integration (>dev)• Continuous deployment (>uat)Continuous deployment (>uat)• Continuous delivery (>prod)Continuous delivery (>prod)• Deploying to prod = business decisionDeploying to prod = business decision

Julien Pivotto DevOps 101

Page 32: DevOps, beyond agile

;

IACIAC

• Infrastructure as CodeInfrastructure as Code• Put infra under version controlPut infra under version control• History, amend, modelize your infraHistory, amend, modelize your infra• Deploy monitoring, backups, appsDeploy monitoring, backups, apps• It is NOT scriptingIt is NOT scripting• Think puppet, chef, . . .Think puppet, chef, . . .

Julien Pivotto DevOps 101

Page 33: DevOps, beyond agile

;

OrchestrationOrchestration

• Restart all httpdRestart all httpd• Which servers have php 53 installed?Which servers have php 53 installed?• Configure db, trigger commands..Configure db, trigger commands..• On multiple server at the same timeOn multiple server at the same time• Think mcollective, ansible, . . .Think mcollective, ansible, . . .

Julien Pivotto DevOps 101

Page 34: DevOps, beyond agile

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

Page 35: DevOps, beyond agile

;

FeedbackFeedbackFeedbackFeedbackFeedbackFeedback

Julien Pivotto DevOps 101

Page 36: DevOps, beyond agile

;

MetricsMetrics

• Easily create new metricsEasily create new metrics• Build dashboardsBuild dashboards• Learn from logsLearn from logs• Learn from *Learn from *

Julien Pivotto DevOps 101

Page 37: DevOps, beyond agile

;

Monitor every platformMonitor every platform

• DevDev• UatUat• ProdProd• See the troubles earlySee the troubles early

Julien Pivotto DevOps 101

Page 38: DevOps, beyond agile

;

Start with developmentStart with development

Julien Pivotto DevOps 101

Page 39: DevOps, beyond agile

;

Then runtimeThen runtime• OSOS

• disk, cpu, i/o, memorydisk, cpu, i/o, memory

• MiddlewareMiddleware• queuesqueues• API callsAPI calls• connectionsconnections

• ApplicationApplication• response timeresponse time• usersusers• objectsobjects• usageusage

Julien Pivotto DevOps 101

Page 40: DevOps, beyond agile

;

Measure everythingMeasure everything

• DeploymentsDeployments• CommitsCommits• TicketsTickets• . . .. . .

Julien Pivotto DevOps 101

Page 41: DevOps, beyond agile

;Julien Pivotto DevOps 101

Page 42: DevOps, beyond agile

;

Read metricsRead metrics

• Get business keysGet business keys• Share dashboards with dev ops mgmtShare dashboards with dev ops mgmt• Find metrics that matterFind metrics that matter• Learn from metricsLearn from metrics

Julien Pivotto DevOps 101

Page 43: DevOps, beyond agile

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

Page 44: DevOps, beyond agile

;

ShareShare• Open SourceOpen Source• Talk about experienceTalk about experience• Publsh codePublsh code• BacklogBacklog• Avoid lock-insAvoid lock-ins

Julien Pivotto DevOps 101

Page 45: DevOps, beyond agile

;

DevOps is NOT about toolsDevOps is NOT about tools

Julien Pivotto DevOps 101

Page 46: DevOps, beyond agile

;

DevOps is NOT adding a new teamDevOps is NOT adding a new team

Julien Pivotto DevOps 101

Page 47: DevOps, beyond agile

;

DevOps is NOT a job titleDevOps is NOT a job title

Julien Pivotto DevOps 101

Page 48: DevOps, beyond agile

;

You need to make it work for youYou need to make it work for you

Julien Pivotto DevOps 101

Page 49: DevOps, beyond agile

;

Backlog and participateBacklog and participate

• http://www.devopsdays.org/http://www.devopsdays.org/• http://devopscafe.org/http://devopscafe.org/• http://jedi.be/blog/http://jedi.be/blog/• http://codeascraft.com/http://codeascraft.com/• http://krisbuytaert.be/http://krisbuytaert.be/

Julien Pivotto DevOps 101

Page 50: DevOps, beyond agile

;

Thank youThank youAny question?Any question?

Julien Pivotto DevOps 101

Page 51: DevOps, beyond agile

;

ContactContactJulien PivottoJulien [email protected]@inuits.eu@roidelapluie@roidelapluie

INUITS bvbaINUITS bvbaBelgiumBelgium+32 473 441 636+32 473 441 636https://inuits.euhttps://inuits.eu

Julien Pivotto DevOps 101