SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
24 MONTHS 
@S_MCLEOD 
@INFOXCHANGE
INFOXCHANGE
A NOT-FOR-PROFIT COMMUNITY 
ORGANISATION THAT DELIVERS 
TECHNOLOGY FOR SOCIAL JUSTICE
TECHNOLOGIES
INFOXCHANGE 
2012
INFOXCHANGE 
OPERATIONS TEAM 2012
We were in a bad place
INFRASTRUCTURE 
• 6+ Year old servers 
• 6+ Brands of network switches 
• 'Core routers' = Desktop 
computers 
• Partially puppetted Infrastructure 
• Many 'legacy' servers 
• More SPOF than you could dream 
up
APPLICATION DEPLOYMENTS 
Major applications only deployed monthly at most 
Large, complex deployments with many changes 
No form of continuous integration or delivery 
Releases were fragile & high risk
CULTURE 
• Change Adverse 
• Witch Hunting 
• Blame 
• Negativity 
• A lot of Ass-Covering
I almost quit on my first week
INFOXCHANGE 
2014
PLATFORM INFRASTRUCTURE 
• In-house "PAAS" for our applications 
• Almost all applications containerised in Docker 
• Modern and supportable hardware platform & fault 
tolerant network redesign 
• Every server (300~) is puppet controlled 
• Excellent visibility into operational state
APPLICATION DEPLOYMENTS 
• Docker images built and deployed by CI 
• Prod app images == test app images 
• Devs release to prod 
• Up to 32 successful deployments to prod per day
CULTURE 
• Dev & Ops teams together facilitate product delivery 
• Ops involved in application architecture 
• Devs involved in platform architecture 
• No more 'It worked in Dev'
HOW DID WE DO I T ?
“Easy things should be easy, and hard things 
should be possible.” 
–LARRY WALL
WE KNEW OUR DESIRED STATE 
• Eliminate all current technical debt 
• Increase operational supportability 
• Increase operation and deployment resiliency 
• Recover from failure quicker 
• Stop fighting fires 
• The ability to perform 10+ production deploys a day of 
any application
Pick highly visible & easy to achieve changes first
PAY DOWN TECH DEBT 
• It's hard to eliminate tech debt but it MUST be 
brought under control to reduce reactive work 
• P2V your physicals 
• chroot anything you can't modernise & puppet the 
underlying OS 
• Set hard sunset dates & communicate them 
• Demonstrate & praise modern environments
The journey from here 
to here 
is important
We had to make it easy to do the right thing
2012 Release Process 
• Dev VMs often out of sync with 
puppet 
• External package repos often 
broken 
• Devs didn’t have visibility into 
deployment processes 
• Ops needed to be involved in 
every deployment
USING PUPPET TO DEPLOY COMPLEX 
APPLICATIONS (IS A BAD IDEA) 
• High complexity deployment 
• Large chains of execs 
• Changes are regularly required to manifests 
• Puppet is not designed to manage large directories of files 
• Deployments are limited to how often you can run puppet
2014 Release Process 
1. Code pushed to git 
2. CI builds Docker image 
3. Tests run 
4. MCollective triggers 
Puppet to deploy Docker 
image
INFOXCHANGE 
2014 
Firefighting to a minimum 
Deploys to a maximum 
Happy Devs, Happy Ops
LESSONS 
• Know when to start fresh - Hindsight is 20/20 
• Fail forward and aim to fail fast - It’s often cheaper 
• Communication is key - Start DevOps lunches! 
• Management must buy in - Make them read The 
Phoenix Project
“Here’s the secret. I’ll tell you EXACTLY what 
devops means. 
Devops means giving a shit about your job enough 
to not pass the buck. Devops means giving a shit 
about your job enough to want to learn all the 
parts and not just your little world. 
Developers need to understand infrastructure. 
Operations people need to understand code. 
People need to fucking work with each other and 
not just occupy space next to each other..” 
–JOHN VINCENT
QUESTIONS? 
@S_MCLEOD 
@INFOXCHANGE

Contenu connexe

Tendances

Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2
Puppet
 
2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar
Puppet
 
How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013
Puppet
 

Tendances (20)

DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
The Story of Project Sputnik - Client to cloud solution
The Story of Project Sputnik - Client to cloud solutionThe Story of Project Sputnik - Client to cloud solution
The Story of Project Sputnik - Client to cloud solution
 
Continuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even HaimContinuous Delivery at Wix, Yaniv Even Haim
Continuous Delivery at Wix, Yaniv Even Haim
 
Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2
 
Learn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLife
Learn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLifeLearn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLife
Learn Fast, Fail Fast, Deliver Fast: The MOD Squad Way at MetLife
 
DevOps and its impact
DevOps and its impactDevOps and its impact
DevOps and its impact
 
2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar2016 State of DevOps Report Webinar
2016 State of DevOps Report Webinar
 
DevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call ResponsibiltiesDevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call Responsibilties
 
Intro to PE 2016.3
Intro to PE 2016.3Intro to PE 2016.3
Intro to PE 2016.3
 
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher PepeStash – Taking Expedia to New Heights - David Williams and Christopher Pepe
Stash – Taking Expedia to New Heights - David Williams and Christopher Pepe
 
How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013How Do We Better Sell DevOps? - PuppetConf 2013
How Do We Better Sell DevOps? - PuppetConf 2013
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
 
DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos DevOps and the Importance of Single Source Code Repos 
DevOps and the Importance of Single Source Code Repos 
 
PuppetConf track overview: Windows
PuppetConf track overview: WindowsPuppetConf track overview: Windows
PuppetConf track overview: Windows
 
Intro to Puppet Enterprise 2016.2
Intro to Puppet Enterprise 2016.2Intro to Puppet Enterprise 2016.2
Intro to Puppet Enterprise 2016.2
 
New DevOps for the DBA
New DevOps for the DBANew DevOps for the DBA
New DevOps for the DBA
 
A DevSecOps Demo: Early, Everywhere, At Scale
A DevSecOps Demo: Early, Everywhere, At ScaleA DevSecOps Demo: Early, Everywhere, At Scale
A DevSecOps Demo: Early, Everywhere, At Scale
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
 
Devops: A History
Devops: A HistoryDevops: A History
Devops: A History
 

Similaire à 24 Months - A DevOps Retrospective

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 

Similaire à 24 Months - A DevOps Retrospective (20)

DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
No IT Left Behind - Connecting the Software-Defined Data Center to Multi-Moda...
 
The Hiscox DevOps journey @ IBM InterConnect, Las Vegas
The Hiscox DevOps journey @ IBM InterConnect, Las VegasThe Hiscox DevOps journey @ IBM InterConnect, Las Vegas
The Hiscox DevOps journey @ IBM InterConnect, Las Vegas
 
Build 12-Factor apps with Docker
Build 12-Factor apps with DockerBuild 12-Factor apps with Docker
Build 12-Factor apps with Docker
 
Untangling DevOps - A high-level overview and how we got here
Untangling DevOps -  A high-level overview and how we got hereUntangling DevOps -  A high-level overview and how we got here
Untangling DevOps - A high-level overview and how we got here
 
Dutchcontainerdays
DutchcontainerdaysDutchcontainerdays
Dutchcontainerdays
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
Intro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live DemoIntro to OpenShift, MongoDB Atlas & Live Demo
Intro to OpenShift, MongoDB Atlas & Live Demo
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...DockerDay 2015: From months to minutes - How GE appliances brought docker int...
DockerDay 2015: From months to minutes - How GE appliances brought docker int...
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the Enterprise
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Supersize me: Making Drupal go large
Supersize me: Making Drupal go largeSupersize me: Making Drupal go large
Supersize me: Making Drupal go large
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

24 Months - A DevOps Retrospective

  • 1. 24 MONTHS @S_MCLEOD @INFOXCHANGE
  • 3. A NOT-FOR-PROFIT COMMUNITY ORGANISATION THAT DELIVERS TECHNOLOGY FOR SOCIAL JUSTICE
  • 7. We were in a bad place
  • 8. INFRASTRUCTURE • 6+ Year old servers • 6+ Brands of network switches • 'Core routers' = Desktop computers • Partially puppetted Infrastructure • Many 'legacy' servers • More SPOF than you could dream up
  • 9. APPLICATION DEPLOYMENTS Major applications only deployed monthly at most Large, complex deployments with many changes No form of continuous integration or delivery Releases were fragile & high risk
  • 10. CULTURE • Change Adverse • Witch Hunting • Blame • Negativity • A lot of Ass-Covering
  • 11. I almost quit on my first week
  • 13.
  • 14. PLATFORM INFRASTRUCTURE • In-house "PAAS" for our applications • Almost all applications containerised in Docker • Modern and supportable hardware platform & fault tolerant network redesign • Every server (300~) is puppet controlled • Excellent visibility into operational state
  • 15. APPLICATION DEPLOYMENTS • Docker images built and deployed by CI • Prod app images == test app images • Devs release to prod • Up to 32 successful deployments to prod per day
  • 16. CULTURE • Dev & Ops teams together facilitate product delivery • Ops involved in application architecture • Devs involved in platform architecture • No more 'It worked in Dev'
  • 17. HOW DID WE DO I T ?
  • 18. “Easy things should be easy, and hard things should be possible.” –LARRY WALL
  • 19. WE KNEW OUR DESIRED STATE • Eliminate all current technical debt • Increase operational supportability • Increase operation and deployment resiliency • Recover from failure quicker • Stop fighting fires • The ability to perform 10+ production deploys a day of any application
  • 20. Pick highly visible & easy to achieve changes first
  • 21. PAY DOWN TECH DEBT • It's hard to eliminate tech debt but it MUST be brought under control to reduce reactive work • P2V your physicals • chroot anything you can't modernise & puppet the underlying OS • Set hard sunset dates & communicate them • Demonstrate & praise modern environments
  • 22. The journey from here to here is important
  • 23. We had to make it easy to do the right thing
  • 24. 2012 Release Process • Dev VMs often out of sync with puppet • External package repos often broken • Devs didn’t have visibility into deployment processes • Ops needed to be involved in every deployment
  • 25. USING PUPPET TO DEPLOY COMPLEX APPLICATIONS (IS A BAD IDEA) • High complexity deployment • Large chains of execs • Changes are regularly required to manifests • Puppet is not designed to manage large directories of files • Deployments are limited to how often you can run puppet
  • 26. 2014 Release Process 1. Code pushed to git 2. CI builds Docker image 3. Tests run 4. MCollective triggers Puppet to deploy Docker image
  • 27. INFOXCHANGE 2014 Firefighting to a minimum Deploys to a maximum Happy Devs, Happy Ops
  • 28. LESSONS • Know when to start fresh - Hindsight is 20/20 • Fail forward and aim to fail fast - It’s often cheaper • Communication is key - Start DevOps lunches! • Management must buy in - Make them read The Phoenix Project
  • 29. “Here’s the secret. I’ll tell you EXACTLY what devops means. Devops means giving a shit about your job enough to not pass the buck. Devops means giving a shit about your job enough to want to learn all the parts and not just your little world. Developers need to understand infrastructure. Operations people need to understand code. People need to fucking work with each other and not just occupy space next to each other..” –JOHN VINCENT