devops, beyond agile
Post on 13-Sep-2014
4.026 views
DESCRIPTION
Conference given at la Journée de l'agile 2013 Louvain La Neuve http://journeeagile.beTRANSCRIPT
;
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 [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