SlideShare a Scribd company logo
1 of 52
Download to read offline
No, we can not do
Continuous Deployment
Kris Buytaert
@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 @Consultant @inuits.euinuits.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
•Organiser of #devopsdays, #cfgmgmtcamp,Organiser of #devopsdays, #cfgmgmtcamp,
#loadays, ….#loadays, ….
What's this devopsWhat's this devops
thing anyhow ?thing 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, andHumble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, and
lots of others ..lots of others ..
Gent , October 2009Gent , October 2009
Mountain View , June 2010Mountain View , June 2010
5th aniversary 2 years ago in Gent5th aniversary 2 years ago in Gent
........
C(L)AMSC(L)AMS
•CultureCulture
•(Lean)(Lean)
•AutomationAutomation
•MeasurementMeasurement
•SharingSharing
Damon Edwards and John WillisDamon Edwards and John Willis
Gene KimGene Kim
NirvanaNirvana
An “ecosystem” that supports continuous delivery, fromAn “ecosystem” that supports continuous delivery, from
infrastructure, data and configuration management toinfrastructure, data and configuration management to
business.business.
Through automation of the build, deployment, and testingThrough automation of the build, deployment, and testing
process, and improved collaboration between developers,process, and improved collaboration between developers,
testers, and operations, delivery teams can get changestesters, and operations, delivery teams can get changes
released in a matter of hours — sometimes even minutes–noreleased in a matter of hours — sometimes even minutes–no
matter what the size of a project or the complexity of its codematter what the size of a project or the complexity of its code
base.base.
Continuous Delivery , Jez HumbleContinuous Delivery , Jez Humble
Continuous IntegrationContinuous Integration
Continuous integration (CI) is the practice, in software engineering, of mergingContinuous integration (CI) is the practice, in software engineering, of merging
all developer working copies with a shared mainline several times a day. It wasall developer working copies with a shared mainline several times a day. It was
first named and proposed as part of extreme programming (XP). Its main aim isfirst named and proposed as part of extreme programming (XP). Its main aim is
to prevent integration problems, referred to as "integration hell"to prevent integration problems, referred to as "integration hell"
(WikiPedia)(WikiPedia)
Does the app you are deploying still work ?Does the app you are deploying still work ?
Did you break your infrastructure ?Did you break your infrastructure ?
CD vs CDCD vs CD
•ContinuousContinuous
DeliveryDelivery
•Knowing you canKnowing you can
•One buttonOne button
•Human decisionHuman decision
•ContinuousContinuous
DeploymentDeployment
•Constantly doing itConstantly doing it
•No More buttonsNo More buttons
•Machine decisionMachine decision
devops (<)> continuous deliverydevops (<)> continuous delivery
Culture,Culture,
automation,automation,
Measturement,Measturement,
sharingsharing
How many times a day ?How many times a day ?
•10 @ Flickr10 @ Flickr
•Deployments used to be painDeployments used to be pain
•Nobody dared to deploy a siteNobody dared to deploy a site
•Practice makes perfectPractice makes perfect
•Knowing you can vs constantly doing itKnowing you can vs constantly doing it
" Our job as engineers (and ops, dev-ops," Our job as engineers (and ops, dev-ops,
QA, support, everyone in the companyQA, support, everyone in the company
actually) is to enable the business goals.actually) is to enable the business goals.
We strongly feel that in order to do thatWe strongly feel that in order to do that
you must have theyou must have the ability to deploy codeability to deploy code
quickly and safely.quickly and safely. Even if the businessEven if the business
goals are to deploy strongly QA’d codegoals are to deploy strongly QA’d code
once a month at 3am (it’s not for us, weonce a month at 3am (it’s not for us, we
push all the time), having apush all the time), having a reliable andreliable and
easy deploymenteasy deployment should be non-should be non-
negotiable."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/
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 safe (Secure)In a more safe (Secure)
•Reliable fashionReliable fashion
•Fully automatedFully automated
•More happyMore happy {customers,developers,managers,investors}{customers,developers,managers,investors}
Pushing to production 5 times a day ..Pushing to production 5 times a day ..
Are you out of your mind ?Are you out of your mind ?
vsvs
Sure we do thatSure we do that
This is not Continuous DeploymentThis is not Continuous Deployment
•@stahnma@stahnma
@#devopsdays Ohio@#devopsdays Ohio
It is Pink SombreroIt is Pink Sombrero
But people sayBut people say
•It's too riskyIt's too risky
•We can't , ourWe can't , our
users don't wantusers don't want
to ...to ...
•But <insertBut <insert
favourite proceduralfavourite procedural
framework >framework >
•But auditors/But auditors/
ComplianceCompliance
•It's too expensiveIt's too expensive
It's too riskyIt's too risky
•We deployed 6 months ago, it wasWe deployed 6 months ago, it was
painfull, we needed 3 weeks aftercarepainfull, we needed 3 weeks aftercare
•There's 3576 changes in the newThere's 3576 changes in the new
deploy, we have no clue what causeddeploy, we have no clue what caused
this problemthis problem
•We need 20 people in a room for 8-12We need 20 people in a room for 8-12
hourshours
•I have no clue why I wrote that line ofI have no clue why I wrote that line of
code 3 months agocode 3 months ago
•The person who wrote this left 2The person who wrote this left 2
weeks agoweeks ago
•Ooops we forgot to delete that featureOoops we forgot to delete that feature
they don't want anymore.they don't want anymore.
•We deploy automaticaly,We deploy automaticaly,
•I clearly remember what we fixedI clearly remember what we fixed
yesterdayyesterday
•And that's the only thing that hasAnd that's the only thing that has
changed in the last commitchanged in the last commit
•The person who wrote the code is stillThe person who wrote the code is still
in the buildingin the building
•We really need this feature now, weWe really need this feature now, we
can remove it latercan remove it later
Every commitEvery commit withwith successful testssuccessful tests
willwill automaticallyautomatically bebe deployeddeployed
productionproduction
Every commitEvery commit with successful testwith successful test
will automatically be deployed towill automatically be deployed to
productionproduction
Version controlVersion control
Who, changed what, why and whenWho, changed what, why and when
Every commit withEvery commit with successful testssuccessful tests
will automatically be deployed towill automatically be deployed to
productionproduction
Automated testing strategy, is keyAutomated testing strategy, is key
Successful tests, no bypassing of theSuccessful tests, no bypassing of the
teststests
Test all the thingsTest all the things
•Unit testsUnit tests
•Integration TestsIntegration Tests
•System TestsSystem Tests
•Acceptance TestsAcceptance Tests
•Security TestsSecurity Tests
•Performance TestsPerformance Tests
•Regression TestsRegression Tests
•Functional TestsFunctional Tests
24
-
While Culture = OKWhile Culture = OK
- Write code- Write code
- Keep pipeline running- Keep pipeline running
- Stop the pipeline on failure- Stop the pipeline on failure
- Fix the pipeline- Fix the pipeline
- Don't go home on a broken pipeline- Don't go home on a broken pipeline
PromotionsPromotions
When you don't trust your test yet, you'llWhen you don't trust your test yet, you'll
put in manual checkpoints where humansput in manual checkpoints where humans
verify and approve, while adding moreverify and approve, while adding more
tests.tests.
Beware of the unpromoted builds :Beware of the unpromoted builds :
They risk quickly ending up in big,They risk quickly ending up in big,
delayed, problematic releases again.delayed, problematic releases again.
Testing = MonitoringTesting = Monitoring
•Add it to the monitoring frameworkAdd it to the monitoring framework
•Add collection toolsAdd collection tools
•Add check definitionsAdd check definitions
•Update the monitoring tool configUpdate the monitoring tool config
•Deploy a host,Deploy a host,
FULLY AUTOMATEDFULLY AUTOMATED
Every commit with successful testsEvery commit with successful tests
willwill automaticallyautomatically be deployed tobe deployed to
productionproduction
Automate all the things !Automate all the things !
No humans involved,No humans involved,
Less error proneLess error prone
Less boringLess boring
Every commit with successful testsEvery commit with successful tests
will automatically bewill automatically be deployed todeployed to
productionproduction
Deployed code does not meanDeployed code does not mean
enabled feature.enabled feature.
We can't , our ...We can't , our ...
•Marketing campaign only launches onMarketing campaign only launches on
1/121/12
•Users won't get trained before 15/1Users won't get trained before 15/1
•Legislation requires us to enable thatLegislation requires us to enable that
feature on 1/9feature on 1/9
We can't , our ...We can't , our ...
•XYZ requires us toXYZ requires us to enableenable that featurethat feature
on 1/9on 1/9
Deployment: does not mean EnablingDeployment: does not mean Enabling
by default !by default !
Canary , Feature , Dark launchesCanary , Feature , Dark launches
•Feature Flags :Feature Flags :
●
Only executed if this is on.Only executed if this is on.
•Canary Releases:Canary Releases:
●
10% of the audience gets a feature10% of the audience gets a feature
•Dark LaunchesDark Launches
●
Log, do, but don't show the endLog, do, but don't show the end
useruser
●
Test load of a feature , in real lifeTest load of a feature , in real life
AB testing, Blue GreenAB testing, Blue Green
•AB testingAB testing
●
Deploy both alternatives ,Deploy both alternatives ,
●
Show to subsets of usersShow to subsets of users
●
Compare resultsCompare results
•Blue Green deployments :Blue Green deployments :
●
2 identical production platforms2 identical production platforms
●
Only one is activeOnly one is active
●
Ideally on the same databasseIdeally on the same databasse
backendbackend
Auditors / ComplianceAuditors / Compliance
•We do the same, just automatedWe do the same, just automated
•Separation of DutiesSeparation of Duties
• Man vs MachineMan vs Machine
•Authentication and Audit TrailAuthentication and Audit Trail
•Full automation, Git logs, Deploy logs,Full automation, Git logs, Deploy logs,
no more manual actionsno more manual actions
•Have you tried talking to them ?Have you tried talking to them ?
We are already agile !We are already agile !
•We've implemented Scaled AgileWe've implemented Scaled Agile
FrameworkFramework
•We've commited to 4 quarterly releases /We've commited to 4 quarterly releases /
yearyear
•We can't change thisWe can't change this
•Our users can't followOur users can't follow
To ExpensiveTo Expensive
•Setting up the stack costs timeSetting up the stack costs time
•We don't have the budget to write testsWe don't have the budget to write tests
•You also don't have the budget to failYou also don't have the budget to fail
•Thats why you are still runningThats why you are still running
vulnerable security publically !vulnerable security publically !
•Operations and development areOperations and development are
different budgetsdifferent budgets
•One shot projects , fire and forgetOne shot projects , fire and forget
Culture Hack:Culture Hack:
Set up CI / CD for your infrastructure first,Set up CI / CD for your infrastructure first,
If the people running your infra don't knowIf the people running your infra don't know
how CI/CD works , how do you expecthow CI/CD works , how do you expect
them to support / teach your applicationthem to support / teach your application
teams ?teams ?
You also get them to learn about theYou also get them to learn about the
tooling they will need to support and theytooling they will need to support and they
will share the pain and the joy of thewill share the pain and the joy of the
application developersapplication developers
Culture,Culture,
Automation,Automation,
Measurement,Measurement,
SharingSharing
Broken ArchitectureBroken Architecture
•Legacy LanguagesLegacy Languages
•Big monolithBig monolith
•Stored proceduresStored procedures
•Our team doesn't understand the impactOur team doesn't understand the impact
of our changesof our changes
Our application isOur application is
•Un buildableUn buildable
•Un packageableUn packageable
•Un deployableUn deployable
•Un configurableUn configurable
•Un runnableUn runnable
•Un clusterableUn clusterable
•Un scalableUn scalable
•Un monitorableUn monitorable
•Un measurableUn measurable
•Un securedUn secured
““If myIf my
computer can'tcomputer can't
install it, theinstall it, the
installer isinstaller is
broken”broken”
Luke Kanies atLuke Kanies at
Fosdem (2007)Fosdem (2007)
As an Ops personAs an Ops person
““As a system administrator, I can tell whenAs a system administrator, I can tell when
software vendors hate me. It shows in theirsoftware vendors hate me. It shows in their
products.”products.”
““DON'T make the administrative interface aDON'T make the administrative interface a
GUI. System administrators need aGUI. System administrators need a
command-line tool for constructingcommand-line tool for constructing
repeatable processes. Procedures are bestrepeatable processes. Procedures are best
documented by providing commands thatdocumented by providing commands that
we can copy and paste from the procedurewe can copy and paste from the procedure
document to the command line. We cannotdocument to the command line. We cannot
achieve the same repeatability when theachieve the same repeatability when the
instructions are: "Checkmark the 3rd andinstructions are: "Checkmark the 3rd and
5th options, but not the 2nd option, then5th options, but not the 2nd option, then
click OK." Sysadmins do not want a GUI thatclick OK." Sysadmins do not want a GUI that
requires 25 clicks for each new user.”requires 25 clicks for each new user.”
Thomas A. Limoncelli in ACM Queue December 2010Thomas A. Limoncelli in ACM Queue December 2010
http://queue.acm.org/detail.cfm?id=1921361http://queue.acm.org/detail.cfm?id=1921361
Our process is really complexOur process is really complex
•Different people decideDifferent people decide
•Different needsDifferent needs
•Merges are complexMerges are complex
•Release management takes agesRelease management takes ages
•Testing takes agesTesting takes ages
We don't understand gitWe don't understand git
•We've copied ourWe've copied our
svn modelsvn model
•We're still in mergeWe're still in merge
hellhell
We still don't understandWe still don't understand
•Stop Branching !Stop Branching !
•Master onlyMaster only
developmentdevelopment
•Short lived featureShort lived feature
branchesbranches
• Short is hours , notShort is hours , not
days, certainly notdays, certainly not
weeksweeks
But our data migrations !But our data migrations !
•FlywayFlyway
•DB-MigrateDB-Migrate
•Liquibase,Liquibase,
Data flows backwardsData flows backwards
Every small step you take thinking you goEvery small step you take thinking you go
closer to continuous deliverycloser to continuous delivery
From 3 months to 1 monthFrom 3 months to 1 month
From 1 month to bi weeklyFrom 1 month to bi weekly
Makes your delivery process moreMakes your delivery process more
complexcomplex
Going all the way is much less painfullGoing all the way is much less painfull
than step by stepthan step by step
ConclusionsConclusions
•Most reasons why you can't areMost reasons why you can't are
•WrongWrong
•MisconceptionsMisconceptions
•On your Backlog alreadyOn your Backlog already
•It's a requirement for securityIt's a requirement for security
•hapiness(users,developers,ops,managemhapiness(users,developers,ops,managem
ent,customers,shareholders,*)++ent,customers,shareholders,*)++
No,No,
you can notyou can not
not donot do
Continuous DeliveryContinuous Delivery
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
ContactContact
Kris BuytaertKris Buytaert kris.buytaert@inuits.eukris.buytaert@inuits.eu
Further ReadingFurther Reading
@krisbuytaert@krisbuytaert
http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/
http://www.inuits.be/http://www.inuits.be/
Inuits HQInuits HQ
Essensteenweg 31Essensteenweg 31
BrasschaatBrasschaat
BelgiumBelgium
891.514.231891.514.231
+32 475 961221+32 475 961221

More Related Content

What's hot

Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionKris Buytaert
 
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 stackKris Buytaert
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionKris Buytaert
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops effortsKris Buytaert
 
Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Kris Buytaert
 
Monitoring Drupal In an Infrastructure as Code Age
Monitoring Drupal In an Infrastructure as Code AgeMonitoring Drupal In an Infrastructure as Code Age
Monitoring Drupal In an Infrastructure as Code AgeKris Buytaert
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Kris Buytaert
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015Kris Buytaert
 
Devops is not about Tooling
Devops is not about ToolingDevops is not about Tooling
Devops is not about ToolingKris Buytaert
 
Devops 101 QA with Kris Buytaert
Devops 101 QA  with Kris BuytaertDevops 101 QA  with Kris Buytaert
Devops 101 QA with Kris BuytaertKris Buytaert
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live DevopsKris Buytaert
 
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 distributedKris Buytaert
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
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 AgeKris Buytaert
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops EffortsKris Buytaert
 

What's hot (20)

Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 
Dod is not done
Dod is not doneDod is not done
Dod is not done
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 EditionRun stuff, Deploy Stuff, Jax London 2017 Edition
Run stuff, Deploy Stuff, Jax London 2017 Edition
 
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
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops efforts
 
Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)Closing the gap between Distros(devs) and their Users(ops)
Closing the gap between Distros(devs) and their Users(ops)
 
Monitoring Drupal In an Infrastructure as Code Age
Monitoring Drupal In an Infrastructure as Code AgeMonitoring Drupal In an Infrastructure as Code Age
Monitoring Drupal In an Infrastructure as Code Age
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015
 
Devops is not about Tooling
Devops is not about ToolingDevops is not about Tooling
Devops is not about Tooling
 
Devops 101 QA with Kris Buytaert
Devops 101 QA  with Kris BuytaertDevops 101 QA  with Kris Buytaert
Devops 101 QA with Kris Buytaert
 
Devops is dead, Long Live Devops
Devops is dead, Long Live DevopsDevops is dead, Long Live Devops
Devops is dead, Long Live Devops
 
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
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
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
 
Pipeline as Code
Pipeline as CodePipeline as Code
Pipeline as Code
 
Docker is killing your #devops Efforts
Docker is killing your #devops EffortsDocker is killing your #devops Efforts
Docker is killing your #devops Efforts
 

Viewers also liked

Looking back at 7 years of #devopsdays
Looking back at 7 years of #devopsdaysLooking back at 7 years of #devopsdays
Looking back at 7 years of #devopsdaysKris Buytaert
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous DeliveryXebiaLabs
 
Looking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysLooking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysKris Buytaert
 
Técnicas de gestión del tiempo para Administradores de Sistemas
Técnicas de gestión del tiempo para Administradores de SistemasTécnicas de gestión del tiempo para Administradores de Sistemas
Técnicas de gestión del tiempo para Administradores de SistemasCAPSiDE
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps TransformationsErnest Mueller
 
All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing Mark Hinkle
 
Shirt Ops: How to make awesome t-shirts for your conference
Shirt Ops: How to make awesome t-shirts for your conferenceShirt Ops: How to make awesome t-shirts for your conference
Shirt Ops: How to make awesome t-shirts for your conferenceJames Wickett
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015James Wickett
 
Application Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldApplication Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldJames Wickett
 
Build Your Agile Testing Skill Set
Build Your Agile Testing Skill SetBuild Your Agile Testing Skill Set
Build Your Agile Testing Skill Setlisacrispin
 
Agile Requirements Exploration: How Testers Add Value
Agile Requirements Exploration: How Testers Add ValueAgile Requirements Exploration: How Testers Add Value
Agile Requirements Exploration: How Testers Add Valuelisacrispin
 
Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Derrick Wippler
 
Fluentd - Flexible, Stable, Scalable
Fluentd - Flexible, Stable, ScalableFluentd - Flexible, Stable, Scalable
Fluentd - Flexible, Stable, ScalableShu Ting Tseng
 
Los nuevos desafíos del testing
Los nuevos desafíos del testingLos nuevos desafíos del testing
Los nuevos desafíos del testingTestingBaires
 
The Future of System Administration
The Future of System AdministrationThe Future of System Administration
The Future of System AdministrationKris Buytaert
 
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainRSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainMike Schwartz
 

Viewers also liked (18)

Looking back at 7 years of #devopsdays
Looking back at 7 years of #devopsdaysLooking back at 7 years of #devopsdays
Looking back at 7 years of #devopsdays
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Devops for drupal
Devops for  drupalDevops for  drupal
Devops for drupal
 
Looking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdaysLooking back at 6.5 years of #devopsdays
Looking back at 6.5 years of #devopsdays
 
Técnicas de gestión del tiempo para Administradores de Sistemas
Técnicas de gestión del tiempo para Administradores de SistemasTécnicas de gestión del tiempo para Administradores de Sistemas
Técnicas de gestión del tiempo para Administradores de Sistemas
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing All Things Open : Crash Course in Open Source Cloud Computing
All Things Open : Crash Course in Open Source Cloud Computing
 
Shirt Ops: How to make awesome t-shirts for your conference
Shirt Ops: How to make awesome t-shirts for your conferenceShirt Ops: How to make awesome t-shirts for your conference
Shirt Ops: How to make awesome t-shirts for your conference
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015
 
Application Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery WorldApplication Security Epistemology in a Continuous Delivery World
Application Security Epistemology in a Continuous Delivery World
 
Build Your Agile Testing Skill Set
Build Your Agile Testing Skill SetBuild Your Agile Testing Skill Set
Build Your Agile Testing Skill Set
 
Agile Requirements Exploration: How Testers Add Value
Agile Requirements Exploration: How Testers Add ValueAgile Requirements Exploration: How Testers Add Value
Agile Requirements Exploration: How Testers Add Value
 
Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)Containers - (Austin Cloud Meetup April 2016)
Containers - (Austin Cloud Meetup April 2016)
 
Fluentd - Flexible, Stable, Scalable
Fluentd - Flexible, Stable, ScalableFluentd - Flexible, Stable, Scalable
Fluentd - Flexible, Stable, Scalable
 
Los nuevos desafíos del testing
Los nuevos desafíos del testingLos nuevos desafíos del testing
Los nuevos desafíos del testing
 
The Future of System Administration
The Future of System AdministrationThe Future of System Administration
The Future of System Administration
 
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back AgainRSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
RSA Conference 2016: Who Are You? From Meat to Electrons and Back Again
 

Similar to No, we can't do continuous delivery

Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Kris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing codeZivtech, LLC
 
Velocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOpsVelocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOpsRodrigo Campos
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back togetherKris Buytaert
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove Kris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
 
Delivery Pipelines with Docker (GDC 2016, Riot Games)
Delivery Pipelines with Docker (GDC 2016, Riot Games)Delivery Pipelines with Docker (GDC 2016, Riot Games)
Delivery Pipelines with Docker (GDC 2016, Riot Games)Josiah Kiehl
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?Kris Buytaert
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the toolingBram Vogelaar
 
2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene KimGene Kim
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new buildAndrew Phillips
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deploymentheyrocker
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesRoss Snyder
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert NETWAYS
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 

Similar to No, we can't do continuous delivery (20)

Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.Continuous Delivery of (y)our infrastructure.
Continuous Delivery of (y)our infrastructure.
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
Velocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOpsVelocity Conference NYC 2014 - Real World DevOps
Velocity Conference NYC 2014 - Real World DevOps
 
Let's bring the teams back together
Let's bring the teams back togetherLet's bring the teams back together
Let's bring the teams back together
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Delivery Pipelines with Docker (GDC 2016, Riot Games)
Delivery Pipelines with Docker (GDC 2016, Riot Games)Delivery Pipelines with Docker (GDC 2016, Riot Games)
Delivery Pipelines with Docker (GDC 2016, Riot Games)
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the tooling
 
2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim2012 SxSW When IT Says No by Gene Kim
2012 SxSW When IT Says No by Gene Kim
 
Devops 4 Saas
Devops 4 SaasDevops 4 Saas
Devops 4 Saas
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
Continuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two ApproachesContinuous Deployment at Etsy: A Tale of Two Approaches
Continuous Deployment at Etsy: A Tale of Two Approaches
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 

More from Kris Buytaert

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 devoopsKris Buytaert
 
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 ,IgniteKris Buytaert
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code PatternsKris Buytaert
 
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) learningKris Buytaert
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as CodeKris Buytaert
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fireKris Buytaert
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live DevopsKris Buytaert
 
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 ? Kris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ? Kris Buytaert
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdnessKris Buytaert
 
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 DevopsKris Buytaert
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019 Kris Buytaert
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5Kris Buytaert
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as CodeKris Buytaert
 
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 #cfgmgmtcampKris Buytaert
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with PuppetKris Buytaert
 
Looking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXLooking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXKris Buytaert
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSKris 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
 
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
 
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
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
Looking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDXLooking back at 7.5 years of Devopsdays , DOd PDX
Looking back at 7.5 years of Devopsdays , DOd PDX
 
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMSDevopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
Devopsdays Amsterdam 2017 Keynote, looking back at 5 years of AMS
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

No, we can't do continuous delivery

  • 1. No, we can not do Continuous Deployment Kris Buytaert @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 @Consultant @inuits.euinuits.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 •Organiser of #devopsdays, #cfgmgmtcamp,Organiser of #devopsdays, #cfgmgmtcamp, #loadays, ….#loadays, ….
  • 3. What's this devopsWhat's this devops thing anyhow ?thing 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, andHumble, Lindsay Holmwood, John Willis, Chris Read, Julian Simpson, and lots of others ..lots of others .. Gent , October 2009Gent , October 2009 Mountain View , June 2010Mountain View , June 2010 5th aniversary 2 years ago in Gent5th aniversary 2 years ago in Gent ........
  • 6. NirvanaNirvana An “ecosystem” that supports continuous delivery, fromAn “ecosystem” that supports continuous delivery, from infrastructure, data and configuration management toinfrastructure, data and configuration management to business.business. Through automation of the build, deployment, and testingThrough automation of the build, deployment, and testing process, and improved collaboration between developers,process, and improved collaboration between developers, testers, and operations, delivery teams can get changestesters, and operations, delivery teams can get changes released in a matter of hours — sometimes even minutes–noreleased in a matter of hours — sometimes even minutes–no matter what the size of a project or the complexity of its codematter what the size of a project or the complexity of its code base.base. Continuous Delivery , Jez HumbleContinuous Delivery , Jez Humble
  • 7.
  • 8. Continuous IntegrationContinuous Integration Continuous integration (CI) is the practice, in software engineering, of mergingContinuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It wasall developer working copies with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP). Its main aim isfirst named and proposed as part of extreme programming (XP). Its main aim is to prevent integration problems, referred to as "integration hell"to prevent integration problems, referred to as "integration hell" (WikiPedia)(WikiPedia) Does the app you are deploying still work ?Does the app you are deploying still work ? Did you break your infrastructure ?Did you break your infrastructure ?
  • 9. CD vs CDCD vs CD •ContinuousContinuous DeliveryDelivery •Knowing you canKnowing you can •One buttonOne button •Human decisionHuman decision •ContinuousContinuous DeploymentDeployment •Constantly doing itConstantly doing it •No More buttonsNo More buttons •Machine decisionMachine decision
  • 10. devops (<)> continuous deliverydevops (<)> continuous delivery
  • 12. How many times a day ?How many times a day ? •10 @ Flickr10 @ Flickr •Deployments used to be painDeployments used to be pain •Nobody dared to deploy a siteNobody dared to deploy a site •Practice makes perfectPractice makes perfect •Knowing you can vs constantly doing itKnowing you can vs constantly doing it
  • 13. " Our job as engineers (and ops, dev-ops," Our job as engineers (and ops, dev-ops, QA, support, everyone in the companyQA, support, everyone in the company actually) is to enable the business goals.actually) is to enable the business goals. We strongly feel that in order to do thatWe strongly feel that in order to do that you must have theyou must have the ability to deploy codeability to deploy code quickly and safely.quickly and safely. Even if the businessEven if the business goals are to deploy strongly QA’d codegoals are to deploy strongly QA’d code once a month at 3am (it’s not for us, weonce a month at 3am (it’s not for us, we push all the time), having apush all the time), having a reliable andreliable and easy deploymenteasy deployment should be non-should be non- negotiable."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/
  • 14. 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 safe (Secure)In a more safe (Secure) •Reliable fashionReliable fashion •Fully automatedFully automated •More happyMore happy {customers,developers,managers,investors}{customers,developers,managers,investors}
  • 15. Pushing to production 5 times a day ..Pushing to production 5 times a day .. Are you out of your mind ?Are you out of your mind ? vsvs Sure we do thatSure we do that
  • 16. This is not Continuous DeploymentThis is not Continuous Deployment •@stahnma@stahnma @#devopsdays Ohio@#devopsdays Ohio
  • 17. It is Pink SombreroIt is Pink Sombrero
  • 18. But people sayBut people say •It's too riskyIt's too risky •We can't , ourWe can't , our users don't wantusers don't want to ...to ... •But <insertBut <insert favourite proceduralfavourite procedural framework >framework > •But auditors/But auditors/ ComplianceCompliance •It's too expensiveIt's too expensive
  • 19. It's too riskyIt's too risky •We deployed 6 months ago, it wasWe deployed 6 months ago, it was painfull, we needed 3 weeks aftercarepainfull, we needed 3 weeks aftercare •There's 3576 changes in the newThere's 3576 changes in the new deploy, we have no clue what causeddeploy, we have no clue what caused this problemthis problem •We need 20 people in a room for 8-12We need 20 people in a room for 8-12 hourshours •I have no clue why I wrote that line ofI have no clue why I wrote that line of code 3 months agocode 3 months ago •The person who wrote this left 2The person who wrote this left 2 weeks agoweeks ago •Ooops we forgot to delete that featureOoops we forgot to delete that feature they don't want anymore.they don't want anymore. •We deploy automaticaly,We deploy automaticaly, •I clearly remember what we fixedI clearly remember what we fixed yesterdayyesterday •And that's the only thing that hasAnd that's the only thing that has changed in the last commitchanged in the last commit •The person who wrote the code is stillThe person who wrote the code is still in the buildingin the building •We really need this feature now, weWe really need this feature now, we can remove it latercan remove it later
  • 20. Every commitEvery commit withwith successful testssuccessful tests willwill automaticallyautomatically bebe deployeddeployed productionproduction
  • 21. Every commitEvery commit with successful testwith successful test will automatically be deployed towill automatically be deployed to productionproduction Version controlVersion control Who, changed what, why and whenWho, changed what, why and when
  • 22. Every commit withEvery commit with successful testssuccessful tests will automatically be deployed towill automatically be deployed to productionproduction Automated testing strategy, is keyAutomated testing strategy, is key Successful tests, no bypassing of theSuccessful tests, no bypassing of the teststests
  • 23. Test all the thingsTest all the things •Unit testsUnit tests •Integration TestsIntegration Tests •System TestsSystem Tests •Acceptance TestsAcceptance Tests •Security TestsSecurity Tests •Performance TestsPerformance Tests •Regression TestsRegression Tests •Functional TestsFunctional Tests
  • 24. 24 - While Culture = OKWhile Culture = OK - Write code- Write code - Keep pipeline running- Keep pipeline running - Stop the pipeline on failure- Stop the pipeline on failure - Fix the pipeline- Fix the pipeline - Don't go home on a broken pipeline- Don't go home on a broken pipeline
  • 25. PromotionsPromotions When you don't trust your test yet, you'llWhen you don't trust your test yet, you'll put in manual checkpoints where humansput in manual checkpoints where humans verify and approve, while adding moreverify and approve, while adding more tests.tests.
  • 26. Beware of the unpromoted builds :Beware of the unpromoted builds : They risk quickly ending up in big,They risk quickly ending up in big, delayed, problematic releases again.delayed, problematic releases again.
  • 27. Testing = MonitoringTesting = Monitoring •Add it to the monitoring frameworkAdd it to the monitoring framework •Add collection toolsAdd collection tools •Add check definitionsAdd check definitions •Update the monitoring tool configUpdate the monitoring tool config •Deploy a host,Deploy a host, FULLY AUTOMATEDFULLY AUTOMATED
  • 28. Every commit with successful testsEvery commit with successful tests willwill automaticallyautomatically be deployed tobe deployed to productionproduction Automate all the things !Automate all the things ! No humans involved,No humans involved, Less error proneLess error prone Less boringLess boring
  • 29. Every commit with successful testsEvery commit with successful tests will automatically bewill automatically be deployed todeployed to productionproduction Deployed code does not meanDeployed code does not mean enabled feature.enabled feature.
  • 30. We can't , our ...We can't , our ... •Marketing campaign only launches onMarketing campaign only launches on 1/121/12 •Users won't get trained before 15/1Users won't get trained before 15/1 •Legislation requires us to enable thatLegislation requires us to enable that feature on 1/9feature on 1/9
  • 31. We can't , our ...We can't , our ... •XYZ requires us toXYZ requires us to enableenable that featurethat feature on 1/9on 1/9 Deployment: does not mean EnablingDeployment: does not mean Enabling by default !by default !
  • 32. Canary , Feature , Dark launchesCanary , Feature , Dark launches •Feature Flags :Feature Flags : ● Only executed if this is on.Only executed if this is on. •Canary Releases:Canary Releases: ● 10% of the audience gets a feature10% of the audience gets a feature •Dark LaunchesDark Launches ● Log, do, but don't show the endLog, do, but don't show the end useruser ● Test load of a feature , in real lifeTest load of a feature , in real life
  • 33. AB testing, Blue GreenAB testing, Blue Green •AB testingAB testing ● Deploy both alternatives ,Deploy both alternatives , ● Show to subsets of usersShow to subsets of users ● Compare resultsCompare results •Blue Green deployments :Blue Green deployments : ● 2 identical production platforms2 identical production platforms ● Only one is activeOnly one is active ● Ideally on the same databasseIdeally on the same databasse backendbackend
  • 34. Auditors / ComplianceAuditors / Compliance •We do the same, just automatedWe do the same, just automated •Separation of DutiesSeparation of Duties • Man vs MachineMan vs Machine •Authentication and Audit TrailAuthentication and Audit Trail •Full automation, Git logs, Deploy logs,Full automation, Git logs, Deploy logs, no more manual actionsno more manual actions •Have you tried talking to them ?Have you tried talking to them ?
  • 35. We are already agile !We are already agile ! •We've implemented Scaled AgileWe've implemented Scaled Agile FrameworkFramework •We've commited to 4 quarterly releases /We've commited to 4 quarterly releases / yearyear •We can't change thisWe can't change this •Our users can't followOur users can't follow
  • 36. To ExpensiveTo Expensive •Setting up the stack costs timeSetting up the stack costs time •We don't have the budget to write testsWe don't have the budget to write tests •You also don't have the budget to failYou also don't have the budget to fail •Thats why you are still runningThats why you are still running vulnerable security publically !vulnerable security publically ! •Operations and development areOperations and development are different budgetsdifferent budgets •One shot projects , fire and forgetOne shot projects , fire and forget
  • 37. Culture Hack:Culture Hack: Set up CI / CD for your infrastructure first,Set up CI / CD for your infrastructure first, If the people running your infra don't knowIf the people running your infra don't know how CI/CD works , how do you expecthow CI/CD works , how do you expect them to support / teach your applicationthem to support / teach your application teams ?teams ? You also get them to learn about theYou also get them to learn about the tooling they will need to support and theytooling they will need to support and they will share the pain and the joy of thewill share the pain and the joy of the application developersapplication developers
  • 39. Broken ArchitectureBroken Architecture •Legacy LanguagesLegacy Languages •Big monolithBig monolith •Stored proceduresStored procedures •Our team doesn't understand the impactOur team doesn't understand the impact of our changesof our changes
  • 40. Our application isOur application is •Un buildableUn buildable •Un packageableUn packageable •Un deployableUn deployable •Un configurableUn configurable •Un runnableUn runnable •Un clusterableUn clusterable •Un scalableUn scalable •Un monitorableUn monitorable •Un measurableUn measurable •Un securedUn secured
  • 41. ““If myIf my computer can'tcomputer can't install it, theinstall it, the installer isinstaller is broken”broken” Luke Kanies atLuke Kanies at Fosdem (2007)Fosdem (2007)
  • 42. As an Ops personAs an Ops person ““As a system administrator, I can tell whenAs a system administrator, I can tell when software vendors hate me. It shows in theirsoftware vendors hate me. It shows in their products.”products.” ““DON'T make the administrative interface aDON'T make the administrative interface a GUI. System administrators need aGUI. System administrators need a command-line tool for constructingcommand-line tool for constructing repeatable processes. Procedures are bestrepeatable processes. Procedures are best documented by providing commands thatdocumented by providing commands that we can copy and paste from the procedurewe can copy and paste from the procedure document to the command line. We cannotdocument to the command line. We cannot achieve the same repeatability when theachieve the same repeatability when the instructions are: "Checkmark the 3rd andinstructions are: "Checkmark the 3rd and 5th options, but not the 2nd option, then5th options, but not the 2nd option, then click OK." Sysadmins do not want a GUI thatclick OK." Sysadmins do not want a GUI that requires 25 clicks for each new user.”requires 25 clicks for each new user.” Thomas A. Limoncelli in ACM Queue December 2010Thomas A. Limoncelli in ACM Queue December 2010 http://queue.acm.org/detail.cfm?id=1921361http://queue.acm.org/detail.cfm?id=1921361
  • 43. Our process is really complexOur process is really complex •Different people decideDifferent people decide •Different needsDifferent needs •Merges are complexMerges are complex •Release management takes agesRelease management takes ages •Testing takes agesTesting takes ages
  • 44. We don't understand gitWe don't understand git •We've copied ourWe've copied our svn modelsvn model •We're still in mergeWe're still in merge hellhell
  • 45. We still don't understandWe still don't understand •Stop Branching !Stop Branching ! •Master onlyMaster only developmentdevelopment •Short lived featureShort lived feature branchesbranches • Short is hours , notShort is hours , not days, certainly notdays, certainly not weeksweeks
  • 46. But our data migrations !But our data migrations ! •FlywayFlyway •DB-MigrateDB-Migrate •Liquibase,Liquibase,
  • 47. Data flows backwardsData flows backwards
  • 48. Every small step you take thinking you goEvery small step you take thinking you go closer to continuous deliverycloser to continuous delivery From 3 months to 1 monthFrom 3 months to 1 month From 1 month to bi weeklyFrom 1 month to bi weekly Makes your delivery process moreMakes your delivery process more complexcomplex Going all the way is much less painfullGoing all the way is much less painfull than step by stepthan step by step
  • 49. ConclusionsConclusions •Most reasons why you can't areMost reasons why you can't are •WrongWrong •MisconceptionsMisconceptions •On your Backlog alreadyOn your Backlog already •It's a requirement for securityIt's a requirement for security •hapiness(users,developers,ops,managemhapiness(users,developers,ops,managem ent,customers,shareholders,*)++ent,customers,shareholders,*)++
  • 50. No,No, you can notyou can not not donot do Continuous DeliveryContinuous Delivery
  • 51. 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
  • 52. ContactContact Kris BuytaertKris Buytaert kris.buytaert@inuits.eukris.buytaert@inuits.eu Further ReadingFurther Reading @krisbuytaert@krisbuytaert http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/ http://www.inuits.be/http://www.inuits.be/ Inuits HQInuits HQ Essensteenweg 31Essensteenweg 31 BrasschaatBrasschaat BelgiumBelgium 891.514.231891.514.231 +32 475 961221+32 475 961221