DevOps, beyond agile

Post on 13-Sep-2014

4.022 views 2 download

Tags:

description

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

Transcript of 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

;

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

;

What is DevOps?What is DevOps?

Julien Pivotto DevOps 101

;

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

;

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

;

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

OpsOps• StabilityStability• AvailabilityAvailability• SecuritySecurity

Julien Pivotto DevOps 101

;

Dev vs OpsDev vs Ops

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

Julien Pivotto DevOps 101

;

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

;

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

;

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

Julien Pivotto DevOps 101

;

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

;

DevOps is a cultural andDevOps is a cultural andprofessional movementprofessional movement

Adam Jacob, OpsCodeAdam Jacob, OpsCode

Julien Pivotto DevOps 101

;

• CultureCulture• AutomationAutomation• MeasurementMeasurement• SharingSharing

John Willis and Damon EdwardsJohn Willis and Damon Edwards

Julien Pivotto DevOps 101

;

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

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

;

Burn the SilosBurn the Silos

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

Julien Pivotto DevOps 101

;

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

;

Enable communicationEnable communication

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

Julien Pivotto DevOps 101

;

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

;

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

Julien Pivotto DevOps 101

;

Play togetherPlay together

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

Julien Pivotto DevOps 101

;

Play togetherPlay together

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

Julien Pivotto DevOps 101

;

Taking responsabilitiesTaking responsabilities

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

Julien Pivotto DevOps 101

;

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

;

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

;

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

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

;

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

;

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

;

Test automationTest automation

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

Julien Pivotto DevOps 101

;

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

;

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

;

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

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

;

FeedbackFeedbackFeedbackFeedbackFeedbackFeedback

Julien Pivotto DevOps 101

;

MetricsMetrics

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

Julien Pivotto DevOps 101

;

Monitor every platformMonitor every platform

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

Julien Pivotto DevOps 101

;

Start with developmentStart with development

Julien Pivotto DevOps 101

;

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

;

Measure everythingMeasure everything

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

Julien Pivotto DevOps 101

;Julien Pivotto DevOps 101

;

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

;

CultureCultureAutomationAutomation

MeasurementMeasurementSharingSharing

Julien Pivotto DevOps 101

;

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

Julien Pivotto DevOps 101

;

DevOps is NOT about toolsDevOps is NOT about tools

Julien Pivotto DevOps 101

;

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

Julien Pivotto DevOps 101

;

DevOps is NOT a job titleDevOps is NOT a job title

Julien Pivotto DevOps 101

;

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

Julien Pivotto DevOps 101

;

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

;

Thank youThank youAny question?Any question?

Julien Pivotto DevOps 101

;

ContactContactJulien PivottoJulien Pivottojulien@inuits.eujulien@inuits.eu@roidelapluie@roidelapluie

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

Julien Pivotto DevOps 101