SlideShare a Scribd company logo
1 of 46
Download to read offline
Software developmentSoftware development
does NOT stop at thedoes NOT stop at the
last commitlast commit
Kris Buytaert
Open World Forum 2013, Paris
@krisbuytaert
Kris BuytaertKris Buytaert
● I used to be a Dev,I used to be a Dev,
● Then Became an OpThen Became an Op
● Chief Trolling Officer and Open SourceChief Trolling Officer and Open Source
Consultant @inuits.euConsultant @inuits.eu
● Everything is an effing DNS ProblemEverything is an effing DNS Problem
● Building Clouds since before the bookstoreBuilding Clouds since before the bookstore
● Some books, some papers, some blogsSome books, some papers, some blogs
● Evangelizing devopsEvangelizing devops
What's this devops thingWhat's this devops thing
anyhow ?anyhow ?
World , 200X-2009World , 200X-2009
Patrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, JezzPatrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, Jezz
Humble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, LukeHumble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, Luke
Kanies, John Allspaw and lots of others ..Kanies, John Allspaw and lots of others ..
Gent , October 2009Gent , October 2009
Mountain View , June 2010Mountain View , June 2010
Hamburg , October 2010Hamburg , October 2010
Boston, March 2011Boston, March 2011
Mountain View, June 2011Mountain View, June 2011
Bangalore, Melbourne,Bangalore, Melbourne,
Goteborg , October 2011Goteborg , October 2011
........
Almost 20 events held in 2013.Almost 20 events held in 2013.
devops, a definition:devops, a definition:
● Adopt the new philosophy. We are in a new economic age. Western managementAdopt the new philosophy. We are in a new economic age. Western management
must awaken to the challenge, must learn their responsibilities, and take onmust awaken to the challenge, must learn their responsibilities, and take on
leadership for change.leadership for change.
● Cease dependence on inspection to achieve quality. Eliminate the need for massiveCease dependence on inspection to achieve quality. Eliminate the need for massive
inspection by building quality into the product in the first place.inspection by building quality into the product in the first place.
● Improve constantly and forever the system of production and service, to improveImprove constantly and forever the system of production and service, to improve
quality and productivity, and thus constantly decrease costs.quality and productivity, and thus constantly decrease costs.
● Institute training on the job.Institute training on the job.
● Institute leadership The aim of supervision should be to help people and machinesInstitute leadership The aim of supervision should be to help people and machines
and gadgets do a better job.and gadgets do a better job.
● Drive out fear, so that everyone may work effectively for the company.Drive out fear, so that everyone may work effectively for the company.
● Break down barriers between departments. People in research, design, sales, andBreak down barriers between departments. People in research, design, sales, and
production must work as a team, in order to foresee problems of production andproduction must work as a team, in order to foresee problems of production and
usage that may be encountered with the product or service.usage that may be encountered with the product or service.
● Eliminate slogans, exhortations, and targets for the work force asking for zero defectsEliminate slogans, exhortations, and targets for the work force asking for zero defects
and new levels of productivity. Such exhortations only create adversarialand new levels of productivity. Such exhortations only create adversarial
relationships, as the bulk of the causes of low quality and low productivity belong torelationships, as the bulk of the causes of low quality and low productivity belong to
the system and thus lie beyond the power of the work force.the system and thus lie beyond the power of the work force.
●
Eliminate management by objective. Eliminate management by numbersEliminate management by objective. Eliminate management by numbers
and numerical goals. Instead substitute with leadership.and numerical goals. Instead substitute with leadership.
●
Remove barriers that rob the hourly worker of his right to pride ofRemove barriers that rob the hourly worker of his right to pride of
workmanship. The responsibility of supervisors must be changed fromworkmanship. The responsibility of supervisors must be changed from
sheer numbers to quality.sheer numbers to quality.
●
Remove barriers that rob people in management and in engineering ofRemove barriers that rob people in management and in engineering of
their right to pride of workmanship.their right to pride of workmanship.
● Institute a vigorous program of education and self-improvement.Institute a vigorous program of education and self-improvement.
● Put everybody in the company to work to accomplish the transformation. ThePut everybody in the company to work to accomplish the transformation. The
transformation is everybody's job.transformation is everybody's job.
William EdwardsWilliam Edwards
DemingDeming
1986, Out of the Crisis.1986, Out of the Crisis.
http://en.wikipedia.org/wiki/W._Edwards_Deminghttp://en.wikipedia.org/wiki/W._Edwards_Deming
Devops is a cultural andDevops is a cultural and
professional movementprofessional movement
Adam Jacob, OpscodeAdam Jacob, Opscode
C(L)AMSC(L)AMS
● CultureCulture
● (Lean)(Lean)
● AutomationAutomation
● MeasurementMeasurement
● SharingSharing
Damon Edwards and John WillisDamon Edwards and John Willis
Gene KimGene Kim
Whats in it for you ?Whats in it for you ?
● Faster time to marketFaster time to market
•
Features go live in hours vs yearsFeatures go live in hours vs years
● In a more safeIn a more safe
● Reliable fashionReliable fashion
•
Fully automatedFully automated
● More happyMore happy {customers,developers,managers,investors}{customers,developers,managers,investors}
A typical dev shopA typical dev shop
● The PM:The PM:
•““Put this Code Live, here's a tarball” NOW!Put this Code Live, here's a tarball” NOW!
•Marketing Campain is launchedMarketing Campain is launched
•We need this yesterdayWe need this yesterday
•It's going on national radio at 5It's going on national radio at 5
An oldschool ops shopAn oldschool ops shop
● What dependencies ?What dependencies ?
● No machines available ?No machines available ?
● What database ?What database ?
● Security ?Security ?
● High Availability ?High Availability ?
● Scalability ?Scalability ?
● My computer can't install this ?My computer can't install this ?
Devs vs OpsDevs vs Ops
Culture,Culture,
automation,automation,
Measturement,Measturement,
sharingsharing
Burn the SilosBurn the Silos
Crossfunctional TeamCrossfunctional Team
● Project team with skills from all overProject team with skills from all over
•
DevelopmentDevelopment
•
Continuous IntegrationContinuous Integration
•
TestingTesting
•
Infrastructure (HA/ Scale/ Performance)Infrastructure (HA/ Scale/ Performance)
•
DeploymentDeployment
•
MeasurementMeasurement
● Seat them together !Seat them together !
● Goal = Help the businessGoal = Help the business
One Team = One Goal !One Team = One Goal !
Enable CommunicationEnable Communication
Build TrustBuild Trust
● ExperimentExperiment
•
DevDev
•
TestTest
● ProdProd
● Automate all theAutomate all the
thingsthings
● Measure successMeasure success
● Measure FailureMeasure Failure
Lets Play TogetherLets Play Together
Getting AlongGetting AlongOpsOpsDevsDevs
Agile ?Agile ?
● Agile vs AgileAgile vs Agile
● Scrum vs KanbanScrum vs Kanban
● Definition of DoneDefinition of Done
•
Done means testedDone means tested
•
Done means in productionDone means in production
•
Done means monitored and in productionDone means monitored and in production
A software project is not done untilA software project is not done until
your last enduser is in his grave !your last enduser is in his grave !
Kris Buytaert, DOD Amsterdam 2013Kris Buytaert, DOD Amsterdam 2013
Culture,Culture,
Automation,Automation,
Measurement,Measurement,
SharingSharing
Automate all the thingsAutomate all the things
● BuildBuild
• reproducable builds are undiscussablereproducable builds are undiscussable
● TestTest
•
testing reduces risktesting reduces risk
•
automate deployments of your test infraautomate deployments of your test infra
● DeployDeploy
•
Infrastructure as CodeInfrastructure as Code
•
100% automation100% automation
•
Can you rebuild your infrastructure ?Can you rebuild your infrastructure ?
Continuous IntegrationContinuous Integration
● BuildsBuilds
● Nightly BuildsNightly Builds
● Builds with testsBuilds with tests
● Nightly Builds with testsNightly Builds with tests
● Frequent integrationFrequent integration
● Continuous IntegrationContinuous Integration
Test AutomationTest Automation
● Unit testsUnit tests
● Regression testsRegression tests
● SeleniumSelenium
● CucumberCucumber
● TDDTDD
● BDDBDD
devops (<)> continuous delilverydevops (<)> continuous delilvery
" Our job as engineers (and ops, dev-ops, QA," Our job as engineers (and ops, dev-ops, QA,
support, everyone in the company actually) is tosupport, everyone in the company actually) is to
enable the business goals. We strongly feel thatenable the business goals. We strongly feel that
in order to do that you must havein order to do that you must have the ability tothe ability to
deploy code quickly and safelydeploy code quickly and safely. Even if the. Even if the
business goals are to deploy strongly QA’d codebusiness goals are to deploy strongly QA’d code
once a month at 3am (it’s not for us, we push allonce a month at 3am (it’s not for us, we push all
the time), having a reliable and easythe time), having a reliable and easy
deployment should bedeployment should be non-negotiablenon-negotiable."."
Etsy Blog upon releasing DeployinatorEtsy Blog upon releasing Deployinator
http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/
Infrastructure as CodeInfrastructure as Code
● Treat configuration automation as codeTreat configuration automation as code
● Development best practicesDevelopment best practices
•
Model your infrastructureModel your infrastructure
•
Version your cookbooks / manifestsVersion your cookbooks / manifests
•
Test your cookbooks/ manifestsTest your cookbooks/ manifests
•
Dev/ test /uat / prod for your infraDev/ test /uat / prod for your infra
● Model your infrastructureModel your infrastructure
● A working service = automated ( Application Code +A working service = automated ( Application Code +
Infrastructure Code + Security + Monitoring )Infrastructure Code + Security + Monitoring )
● Think Puppet, Chef, Cfengine, ...Think Puppet, Chef, Cfengine, ...
● IAC -ne scriptingIAC -ne scripting
OrchestrationOrchestration
● On what servers is XYZ running ?On what servers is XYZ running ?
● Restart apache on all servers with fact XRestart apache on all servers with fact X
● Configure DBConfigure DB
•
then configure webthen configure web
•
then restart appthen restart app
Over different hosts , automatedOver different hosts , automated
● Mcollective, Rundeck, Ansible ...Mcollective, Rundeck, Ansible ...
Culture,Culture,
Automation,Automation,
Measurement :Measurement :
measure all the thingsmeasure all the things
SharingSharing
Self Service MetricsSelf Service Metrics
● Being able to add new metricsBeing able to add new metrics
● Build your own dashboardsBuild your own dashboards
● Look at metrics / logs on all platformsLook at metrics / logs on all platforms
● Learn from the LogfilesLearn from the Logfiles
● Learn from the platformLearn from the platform
●
During developmentDuring development
And runtimeAnd runtime
Operating SystemOperating System
● diskdisk
● CpuCpu
● MemoryMemory
ApplicationApplication
● #users#users
● #feature usage#feature usage
● response timeresponse timeMiddleWareMiddleWare
● TransactionsTransactions
● Queue lengthQueue length
● Api callsApi calls
● (Aborted) Connections(Aborted) Connections
Math 101Math 101
● f(x)f(x)
● f'(x)f'(x)
● f''(x)f''(x)
● ... statistics 101... statistics 101
● Machine LearningMachine Learning
Culture,Culture,
Automation,Automation,
Measurement,Measurement,
SharingSharing
DashboardsDashboards
Visualize Business MetricsVisualize Business Metrics
● $revenue$revenue
● #sales#sales
● signupssignups
● conversionsconversions
● Api callsApi calls
● Application useApplication use
SharingSharing
● Open SourceOpen Source
● Talk about ExperiencesTalk about Experiences
● Publish the codePublish the code
● No proprietary software was used in theseNo proprietary software was used in these
slidesslides
Don't get Locked In !Don't get Locked In !
FoodFood
It's not about the toolsIt's not about the tools
ContactContact
Kris BuytaertKris Buytaert
Kris.Buytaert@inuits.beKris.Buytaert@inuits.be
Further ReadingFurther Reading
@krisbuytaert@krisbuytaert
http://www.krisbuytaert.be/bhttp://www.krisbuytaert.be/b
log/log/
http://www.inuits.be/http://www.inuits.be/
InuitsInuits
Duboistraat 50Duboistraat 50
2060 Antwerpen2060 Antwerpen
BelgiumBelgium
891.514.231891.514.231
+32 475 961221+32 475 961221

More Related Content

What's hot

Giving Teams the Roots to Grow and Wings to Fly
Giving Teams the Roots to Grow and Wings to FlyGiving Teams the Roots to Grow and Wings to Fly
Giving Teams the Roots to Grow and Wings to Fly
Dave Sharrock
 
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Jon Terry
 
Efficient and Effective. The Best of Two Worlds
Efficient and Effective. The Best of Two WorldsEfficient and Effective. The Best of Two Worlds
Efficient and Effective. The Best of Two Worlds
Paolo Sammicheli
 

What's hot (20)

From Incremental & Iterative to Agile – What's the Right Process For Your Tea...
From Incremental & Iterative to Agile – What's the Right Process For Your Tea...From Incremental & Iterative to Agile – What's the Right Process For Your Tea...
From Incremental & Iterative to Agile – What's the Right Process For Your Tea...
 
DevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's PerspectiveDevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's Perspective
 
Lego Lean Game (Agile Australia 2011)
Lego Lean Game (Agile Australia 2011)Lego Lean Game (Agile Australia 2011)
Lego Lean Game (Agile Australia 2011)
 
Scaling Quality by Building it in
Scaling Quality by Building it inScaling Quality by Building it in
Scaling Quality by Building it in
 
The Lego Lean Game (XP 2009 version)
The Lego Lean Game (XP 2009 version)The Lego Lean Game (XP 2009 version)
The Lego Lean Game (XP 2009 version)
 
Agile Adoption Patterns And Antipatterns
Agile Adoption Patterns And AntipatternsAgile Adoption Patterns And Antipatterns
Agile Adoption Patterns And Antipatterns
 
Scrummaster Needed Desperately at 2016 Scrum Australia
Scrummaster Needed Desperately at 2016 Scrum AustraliaScrummaster Needed Desperately at 2016 Scrum Australia
Scrummaster Needed Desperately at 2016 Scrum Australia
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agile
 
Scrummaster Needed Desperately at LAST Conf 2016 in Melbourne, Australia
Scrummaster Needed Desperately at LAST Conf 2016 in Melbourne, AustraliaScrummaster Needed Desperately at LAST Conf 2016 in Melbourne, Australia
Scrummaster Needed Desperately at LAST Conf 2016 in Melbourne, Australia
 
The Agile Way
The Agile Way The Agile Way
The Agile Way
 
Agile tour 2011 Dublin
Agile tour 2011 DublinAgile tour 2011 Dublin
Agile tour 2011 Dublin
 
How to Reboot your Agile Team San Diego 2017
How to Reboot your Agile Team San Diego 2017How to Reboot your Agile Team San Diego 2017
How to Reboot your Agile Team San Diego 2017
 
The SECRET Method
The SECRET MethodThe SECRET Method
The SECRET Method
 
Giving Teams the Roots to Grow and Wings to Fly
Giving Teams the Roots to Grow and Wings to FlyGiving Teams the Roots to Grow and Wings to Fly
Giving Teams the Roots to Grow and Wings to Fly
 
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...Does this FizzGood? Improve velocity, predictability & agility by asking a si...
Does this FizzGood? Improve velocity, predictability & agility by asking a si...
 
From Chaos to Control, from Control to Freedom - 5 Lessons Learned on our Agi...
From Chaos to Control, from Control to Freedom - 5 Lessons Learned on our Agi...From Chaos to Control, from Control to Freedom - 5 Lessons Learned on our Agi...
From Chaos to Control, from Control to Freedom - 5 Lessons Learned on our Agi...
 
Efficient and Effective. The Best of Two Worlds
Efficient and Effective. The Best of Two WorldsEfficient and Effective. The Best of Two Worlds
Efficient and Effective. The Best of Two Worlds
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
 
3 Stages of Agility: Agile Austin 2016
3 Stages of Agility: Agile Austin 20163 Stages of Agility: Agile Austin 2016
3 Stages of Agility: Agile Austin 2016
 
We Can't Do That Here
We Can't Do That HereWe Can't Do That Here
We Can't Do That Here
 

Viewers also liked

Viewers also liked (14)

Fixing Growing Pains With Puppet Data Patterns
Fixing Growing Pains With Puppet Data PatternsFixing Growing Pains With Puppet Data Patterns
Fixing Growing Pains With Puppet Data Patterns
 
Sanfer System build process and solutions
Sanfer System build process and solutionsSanfer System build process and solutions
Sanfer System build process and solutions
 
Automated Java Deployments With Rpm
Automated Java Deployments With RpmAutomated Java Deployments With Rpm
Automated Java Deployments With Rpm
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Build Automation 101
Build Automation 101Build Automation 101
Build Automation 101
 
Another 7 tools for your #devops stack
Another 7 tools for your #devops stackAnother 7 tools for your #devops stack
Another 7 tools for your #devops stack
 
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation Workshop
 
Monitoring with ElasticSearch
Monitoring with ElasticSearch Monitoring with ElasticSearch
Monitoring with ElasticSearch
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
Software Packaging with RPM
Software Packaging with RPMSoftware Packaging with RPM
Software Packaging with RPM
 
Wrap up warm with a hot mug of java
Wrap up warm with a hot mug of javaWrap up warm with a hot mug of java
Wrap up warm with a hot mug of java
 
Sweetening Systems Management with Salt
Sweetening Systems Management with SaltSweetening Systems Management with Salt
Sweetening Systems Management with Salt
 

Similar to Development Doesn't Stop at the Last Commit

Monitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
Puppet
 

Similar to Development Doesn't Stop at the Last Commit (20)

Devops is not about Tooling
Devops is not about ToolingDevops is not about Tooling
Devops is not about Tooling
 
Devops its not about the tooling
Devops its not about the toolingDevops its not about the tooling
Devops its not about the tooling
 
Adopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenchesAdopting Devops , Stories from the trenches
Adopting Devops , Stories from the trenches
 
Devops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributedDevops, The future is here, it's just not evenly distributed
Devops, The future is here, it's just not evenly distributed
 
Devops 101 QA with Kris Buytaert
Devops 101 QA  with Kris BuytaertDevops 101 QA  with Kris Buytaert
Devops 101 QA with Kris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012Money, Process, and Culture- Tech 20/20 June, 2012
Money, Process, and Culture- Tech 20/20 June, 2012
 
Devops, the future is here it's not evenly distributed yet
Devops, the future is here it's not evenly distributed yetDevops, the future is here it's not evenly distributed yet
Devops, the future is here it's not evenly distributed yet
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Metrics 4 faster feedback
Metrics 4 faster feedbackMetrics 4 faster feedback
Metrics 4 faster feedback
 
Devops for drupal
Devops for  drupalDevops for  drupal
Devops for drupal
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
 
devops is a reorg
devops is a reorgdevops is a reorg
devops is a reorg
 
Monitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
 
Monitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
 

More from Kris Buytaert

More from Kris Buytaert (20)

Years of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoops
 
Observability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,Ignite
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code Patterns
 
From devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learning
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as Code
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
 
GitOps , done Right
GitOps , done RightGitOps , done Right
GitOps , done Right
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live Devops
 
10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ?
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as Code
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Looking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcamp
 

Recently uploaded

unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 

Recently uploaded (20)

HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024HomeRoots Pitch Deck | Investor Insights | April 2024
HomeRoots Pitch Deck | Investor Insights | April 2024
 
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
Horngren’s Cost Accounting A Managerial Emphasis, Canadian 9th edition soluti...
 
Power point presentation on enterprise performance management
Power point presentation on enterprise performance managementPower point presentation on enterprise performance management
Power point presentation on enterprise performance management
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030Over the Top (OTT) Market Size & Growth Outlook 2024-2030
Over the Top (OTT) Market Size & Growth Outlook 2024-2030
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NSCROSS CULTURAL NEGOTIATION BY PANMISEM NS
CROSS CULTURAL NEGOTIATION BY PANMISEM NS
 
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All TimeCall 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
Call 7737669865 Vadodara Call Girls Service at your Door Step Available All Time
 
Falcon Invoice Discounting: Aviate Your Cash Flow Challenges
Falcon Invoice Discounting: Aviate Your Cash Flow ChallengesFalcon Invoice Discounting: Aviate Your Cash Flow Challenges
Falcon Invoice Discounting: Aviate Your Cash Flow Challenges
 
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
 
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdfTVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
TVB_The Vietnam Believer Newsletter_May 6th, 2024_ENVol. 006.pdf
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Falcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial WingsFalcon Invoice Discounting: Tailored Financial Wings
Falcon Invoice Discounting: Tailored Financial Wings
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
BeMetals Investor Presentation_May 3, 2024.pdf
BeMetals Investor Presentation_May 3, 2024.pdfBeMetals Investor Presentation_May 3, 2024.pdf
BeMetals Investor Presentation_May 3, 2024.pdf
 
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
Unveiling Falcon Invoice Discounting: Leading the Way as India's Premier Bill...
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptx
 

Development Doesn't Stop at the Last Commit

  • 1. Software developmentSoftware development does NOT stop at thedoes NOT stop at the last commitlast commit Kris Buytaert Open World Forum 2013, Paris @krisbuytaert
  • 2. Kris BuytaertKris Buytaert ● I used to be a Dev,I used to be a Dev, ● Then Became an OpThen Became an Op ● Chief Trolling Officer and Open SourceChief Trolling Officer and Open Source Consultant @inuits.euConsultant @inuits.eu ● Everything is an effing DNS ProblemEverything is an effing DNS Problem ● Building Clouds since before the bookstoreBuilding Clouds since before the bookstore ● Some books, some papers, some blogsSome books, some papers, some blogs ● Evangelizing devopsEvangelizing devops
  • 3. What's this devops thingWhat's this devops thing anyhow ?anyhow ?
  • 4. World , 200X-2009World , 200X-2009 Patrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, JezzPatrick Debois, Gildas Le Nadan, Andrew Clay Shafer, Kris Buytaert, Jezz Humble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, LukeHumble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, Luke Kanies, John Allspaw and lots of others ..Kanies, John Allspaw and lots of others .. Gent , October 2009Gent , October 2009 Mountain View , June 2010Mountain View , June 2010 Hamburg , October 2010Hamburg , October 2010 Boston, March 2011Boston, March 2011 Mountain View, June 2011Mountain View, June 2011 Bangalore, Melbourne,Bangalore, Melbourne, Goteborg , October 2011Goteborg , October 2011 ........ Almost 20 events held in 2013.Almost 20 events held in 2013.
  • 6. ● Adopt the new philosophy. We are in a new economic age. Western managementAdopt the new philosophy. We are in a new economic age. Western management must awaken to the challenge, must learn their responsibilities, and take onmust awaken to the challenge, must learn their responsibilities, and take on leadership for change.leadership for change. ● Cease dependence on inspection to achieve quality. Eliminate the need for massiveCease dependence on inspection to achieve quality. Eliminate the need for massive inspection by building quality into the product in the first place.inspection by building quality into the product in the first place. ● Improve constantly and forever the system of production and service, to improveImprove constantly and forever the system of production and service, to improve quality and productivity, and thus constantly decrease costs.quality and productivity, and thus constantly decrease costs. ● Institute training on the job.Institute training on the job. ● Institute leadership The aim of supervision should be to help people and machinesInstitute leadership The aim of supervision should be to help people and machines and gadgets do a better job.and gadgets do a better job. ● Drive out fear, so that everyone may work effectively for the company.Drive out fear, so that everyone may work effectively for the company. ● Break down barriers between departments. People in research, design, sales, andBreak down barriers between departments. People in research, design, sales, and production must work as a team, in order to foresee problems of production andproduction must work as a team, in order to foresee problems of production and usage that may be encountered with the product or service.usage that may be encountered with the product or service. ● Eliminate slogans, exhortations, and targets for the work force asking for zero defectsEliminate slogans, exhortations, and targets for the work force asking for zero defects and new levels of productivity. Such exhortations only create adversarialand new levels of productivity. Such exhortations only create adversarial relationships, as the bulk of the causes of low quality and low productivity belong torelationships, as the bulk of the causes of low quality and low productivity belong to the system and thus lie beyond the power of the work force.the system and thus lie beyond the power of the work force. ● Eliminate management by objective. Eliminate management by numbersEliminate management by objective. Eliminate management by numbers and numerical goals. Instead substitute with leadership.and numerical goals. Instead substitute with leadership. ● Remove barriers that rob the hourly worker of his right to pride ofRemove barriers that rob the hourly worker of his right to pride of workmanship. The responsibility of supervisors must be changed fromworkmanship. The responsibility of supervisors must be changed from sheer numbers to quality.sheer numbers to quality. ● Remove barriers that rob people in management and in engineering ofRemove barriers that rob people in management and in engineering of their right to pride of workmanship.their right to pride of workmanship. ● Institute a vigorous program of education and self-improvement.Institute a vigorous program of education and self-improvement. ● Put everybody in the company to work to accomplish the transformation. ThePut everybody in the company to work to accomplish the transformation. The transformation is everybody's job.transformation is everybody's job.
  • 7. William EdwardsWilliam Edwards DemingDeming 1986, Out of the Crisis.1986, Out of the Crisis. http://en.wikipedia.org/wiki/W._Edwards_Deminghttp://en.wikipedia.org/wiki/W._Edwards_Deming
  • 8. Devops is a cultural andDevops is a cultural and professional movementprofessional movement Adam Jacob, OpscodeAdam Jacob, Opscode
  • 9. C(L)AMSC(L)AMS ● CultureCulture ● (Lean)(Lean) ● AutomationAutomation ● MeasurementMeasurement ● SharingSharing Damon Edwards and John WillisDamon Edwards and John Willis Gene KimGene Kim
  • 10. Whats in it for you ?Whats in it for you ? ● Faster time to marketFaster time to market • Features go live in hours vs yearsFeatures go live in hours vs years ● In a more safeIn a more safe ● Reliable fashionReliable fashion • Fully automatedFully automated ● More happyMore happy {customers,developers,managers,investors}{customers,developers,managers,investors}
  • 11. A typical dev shopA typical dev shop ● The PM:The PM: •““Put this Code Live, here's a tarball” NOW!Put this Code Live, here's a tarball” NOW! •Marketing Campain is launchedMarketing Campain is launched •We need this yesterdayWe need this yesterday •It's going on national radio at 5It's going on national radio at 5
  • 12. An oldschool ops shopAn oldschool ops shop ● What dependencies ?What dependencies ? ● No machines available ?No machines available ? ● What database ?What database ? ● Security ?Security ? ● High Availability ?High Availability ? ● Scalability ?Scalability ? ● My computer can't install this ?My computer can't install this ?
  • 13. Devs vs OpsDevs vs Ops
  • 15. Burn the SilosBurn the Silos
  • 16. Crossfunctional TeamCrossfunctional Team ● Project team with skills from all overProject team with skills from all over • DevelopmentDevelopment • Continuous IntegrationContinuous Integration • TestingTesting • Infrastructure (HA/ Scale/ Performance)Infrastructure (HA/ Scale/ Performance) • DeploymentDeployment • MeasurementMeasurement ● Seat them together !Seat them together ! ● Goal = Help the businessGoal = Help the business
  • 17. One Team = One Goal !One Team = One Goal !
  • 19. Build TrustBuild Trust ● ExperimentExperiment • DevDev • TestTest ● ProdProd ● Automate all theAutomate all the thingsthings ● Measure successMeasure success ● Measure FailureMeasure Failure
  • 20. Lets Play TogetherLets Play Together Getting AlongGetting AlongOpsOpsDevsDevs
  • 21.
  • 22. Agile ?Agile ? ● Agile vs AgileAgile vs Agile ● Scrum vs KanbanScrum vs Kanban ● Definition of DoneDefinition of Done • Done means testedDone means tested • Done means in productionDone means in production • Done means monitored and in productionDone means monitored and in production
  • 23. A software project is not done untilA software project is not done until your last enduser is in his grave !your last enduser is in his grave ! Kris Buytaert, DOD Amsterdam 2013Kris Buytaert, DOD Amsterdam 2013
  • 25. Automate all the thingsAutomate all the things ● BuildBuild • reproducable builds are undiscussablereproducable builds are undiscussable ● TestTest • testing reduces risktesting reduces risk • automate deployments of your test infraautomate deployments of your test infra ● DeployDeploy • Infrastructure as CodeInfrastructure as Code • 100% automation100% automation • Can you rebuild your infrastructure ?Can you rebuild your infrastructure ?
  • 26. Continuous IntegrationContinuous Integration ● BuildsBuilds ● Nightly BuildsNightly Builds ● Builds with testsBuilds with tests ● Nightly Builds with testsNightly Builds with tests ● Frequent integrationFrequent integration ● Continuous IntegrationContinuous Integration
  • 27. Test AutomationTest Automation ● Unit testsUnit tests ● Regression testsRegression tests ● SeleniumSelenium ● CucumberCucumber ● TDDTDD ● BDDBDD
  • 28.
  • 29. devops (<)> continuous delilverydevops (<)> continuous delilvery
  • 30. " Our job as engineers (and ops, dev-ops, QA," Our job as engineers (and ops, dev-ops, QA, support, everyone in the company actually) is tosupport, everyone in the company actually) is to enable the business goals. We strongly feel thatenable the business goals. We strongly feel that in order to do that you must havein order to do that you must have the ability tothe ability to deploy code quickly and safelydeploy code quickly and safely. Even if the. Even if the business goals are to deploy strongly QA’d codebusiness goals are to deploy strongly QA’d code once a month at 3am (it’s not for us, we push allonce a month at 3am (it’s not for us, we push all the time), having a reliable and easythe time), having a reliable and easy deployment should bedeployment should be non-negotiablenon-negotiable."." Etsy Blog upon releasing DeployinatorEtsy Blog upon releasing Deployinator http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/
  • 31. Infrastructure as CodeInfrastructure as Code ● Treat configuration automation as codeTreat configuration automation as code ● Development best practicesDevelopment best practices • Model your infrastructureModel your infrastructure • Version your cookbooks / manifestsVersion your cookbooks / manifests • Test your cookbooks/ manifestsTest your cookbooks/ manifests • Dev/ test /uat / prod for your infraDev/ test /uat / prod for your infra ● Model your infrastructureModel your infrastructure ● A working service = automated ( Application Code +A working service = automated ( Application Code + Infrastructure Code + Security + Monitoring )Infrastructure Code + Security + Monitoring ) ● Think Puppet, Chef, Cfengine, ...Think Puppet, Chef, Cfengine, ... ● IAC -ne scriptingIAC -ne scripting
  • 32. OrchestrationOrchestration ● On what servers is XYZ running ?On what servers is XYZ running ? ● Restart apache on all servers with fact XRestart apache on all servers with fact X ● Configure DBConfigure DB • then configure webthen configure web • then restart appthen restart app Over different hosts , automatedOver different hosts , automated ● Mcollective, Rundeck, Ansible ...Mcollective, Rundeck, Ansible ...
  • 33. Culture,Culture, Automation,Automation, Measurement :Measurement : measure all the thingsmeasure all the things SharingSharing
  • 34.
  • 35. Self Service MetricsSelf Service Metrics ● Being able to add new metricsBeing able to add new metrics ● Build your own dashboardsBuild your own dashboards ● Look at metrics / logs on all platformsLook at metrics / logs on all platforms ● Learn from the LogfilesLearn from the Logfiles ● Learn from the platformLearn from the platform ●
  • 37. And runtimeAnd runtime Operating SystemOperating System ● diskdisk ● CpuCpu ● MemoryMemory ApplicationApplication ● #users#users ● #feature usage#feature usage ● response timeresponse timeMiddleWareMiddleWare ● TransactionsTransactions ● Queue lengthQueue length ● Api callsApi calls ● (Aborted) Connections(Aborted) Connections
  • 38.
  • 39. Math 101Math 101 ● f(x)f(x) ● f'(x)f'(x) ● f''(x)f''(x) ● ... statistics 101... statistics 101 ● Machine LearningMachine Learning
  • 42. Visualize Business MetricsVisualize Business Metrics ● $revenue$revenue ● #sales#sales ● signupssignups ● conversionsconversions ● Api callsApi calls ● Application useApplication use
  • 43. SharingSharing ● Open SourceOpen Source ● Talk about ExperiencesTalk about Experiences ● Publish the codePublish the code ● No proprietary software was used in theseNo proprietary software was used in these slidesslides Don't get Locked In !Don't get Locked In !
  • 45. It's not about the toolsIt's not about the tools
  • 46. ContactContact Kris BuytaertKris Buytaert Kris.Buytaert@inuits.beKris.Buytaert@inuits.be Further ReadingFurther Reading @krisbuytaert@krisbuytaert http://www.krisbuytaert.be/bhttp://www.krisbuytaert.be/b log/log/ http://www.inuits.be/http://www.inuits.be/ InuitsInuits Duboistraat 50Duboistraat 50 2060 Antwerpen2060 Antwerpen BelgiumBelgium 891.514.231891.514.231 +32 475 961221+32 475 961221