SlideShare a Scribd company logo
How I
learned to
stop worrying
and love to
deploy
Getting to daily deploys (weekly for apps)
WHY: ITS ALL ABOUT THE FEEDBACK
● Shortening the feedback loop allows us to be responsive
● Deploys are a key part of the feedback cycle
● If you are deploying daily without fuss, a whole host of other things are going
well: engineering organizational healthcheck
Production metrics & user feedback > Story writing & estimates (IPM) >
Compilation > UI test > Unit tests > Pair/Code review >
Show&tell/Demoday > CI > Staging Deploy (CD) > Tester delivering
stories > PM accepting stories > Production Deploy > Production metrics
& user feedback
TLDR;
1. AUTOMATE ALL THE THINGS (CI - Green builds, CD-automatable canary
deploys, Monitoring and alerting)
2. ORGANIZATIONAL ROLE TWEAKS (Product - Developers - Testers -
Infra/Support)
3. STANDARDIZATION (Toolsets, frameworks, deployment procedures,
monitoring, logging)
4. LOTS OF EFFORT FROM EVERYONE, WITH POWER COMES
RESPONSIBILITY (Ownership of costs, Discipline to process, Ownership of
production issues)
FOUNDATIONAL PRINCIPLES
1. Config as code
2. Confidence through CI/CD
3. Incremental unit of work
4. Immutable infrastructure, Reversible/Canary deploys
5. Shared operational responsibility (monitoring, alerts, pager rotation)
CONFIG AS CODE
1. Shared ownership of configuration between
dev and ops
a. Dev & ops updating common configs
2. Common configuration between dev,
staging, production
a. Vagrant for local development
b. Common ansible roles
c. Config code versioned together with
application
3. No local changes on VMs in all
environments
4. Ephemeral servers: Servers torn down and
rebuilt from scratch on config push/daily, cheaper
CONFIDENCE THROUGH CI/CD
1. Everyone (Stakeholders,
Product, testers, dev, ops etc) is
aware of the state of the build
a. CI Monitors
b. CI in the critical path of a daily
workflow
2. Devs+ops make keeping the
build green paramount
3. Green build == Deployable build
a. Ensure the automated tests cover
critical paths, includes UI testing
INCREMENTAL UNIT OF WORK
1. Units of work (stories) that are small and that is understood
across the team (PM, dev, test, ops)
2. Constantly merging, testing, deploying > trickle through the
process with no ceremony
a. Feature toggles
b. In general stories should take between 1-3 days max
IMMUTABLE INFRASTRUCTURE
1. Always baking images, no
changes in production on
running instances, always
replace with latest instance
2. Ansible used as a config
management tool to build
images - same roles used
on dev
3. Canary deploys
SHARED OPERATIONAL RESPONSIBILITY
1. Dev and ops on call
schedules
2. Shared responsibility
between dev/ops/testers
3. PM updated of operational
overheads, prioritizes
stories to improve things
4. Shared pager responsibility

More Related Content

What's hot

A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...
Peter Bodenheimer
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.
Software Guru
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
Ole Christian Rynning
 
introduction to software enginering
introduction to software engineringintroduction to software enginering
introduction to software enginering
prasanna chitra
 
Lean ux
Lean uxLean ux
Become a Quality Enabler
Become a Quality EnablerBecome a Quality Enabler
Become a Quality Enabler
99X Technology
 
Gearing Startups for Success through Product Engineering
Gearing Startups for Success through Product EngineeringGearing Startups for Success through Product Engineering
Gearing Startups for Success through Product Engineering
99X Technology
 
Software Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it betterSoftware Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it better
Tasktop
 
Execute for Every Screen
Execute for Every ScreenExecute for Every Screen
Execute for Every Screen
Steven Hoober
 
Efficient or Just Busy?
Efficient or Just Busy?Efficient or Just Busy?
Efficient or Just Busy?
Pawel Brodzinski
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Cristian Andreica
 
Resource#2
Resource#2Resource#2
Resource#2
testerul
 
Introduction to Eclipse Che
Introduction to Eclipse CheIntroduction to Eclipse Che
Introduction to Eclipse Che
Red Hat Developers
 
Testers developers think differently
Testers developers think differentlyTesters developers think differently
Testers developers think differently
Kishen Simbhoedatpanday
 
Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conference
Fabrice Bernhard
 
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
Agile đây Vietnam
 

What's hot (16)

A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...
 
Usa prácticas de integración continua y sobrevive para luchar otro día.
 Usa prácticas de integración continua y sobrevive para luchar otro día. Usa prácticas de integración continua y sobrevive para luchar otro día.
Usa prácticas de integración continua y sobrevive para luchar otro día.
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
introduction to software enginering
introduction to software engineringintroduction to software enginering
introduction to software enginering
 
Lean ux
Lean uxLean ux
Lean ux
 
Become a Quality Enabler
Become a Quality EnablerBecome a Quality Enabler
Become a Quality Enabler
 
Gearing Startups for Success through Product Engineering
Gearing Startups for Success through Product EngineeringGearing Startups for Success through Product Engineering
Gearing Startups for Success through Product Engineering
 
Software Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it betterSoftware Developer Productivity: What we know and how to make it better
Software Developer Productivity: What we know and how to make it better
 
Execute for Every Screen
Execute for Every ScreenExecute for Every Screen
Execute for Every Screen
 
Efficient or Just Busy?
Efficient or Just Busy?Efficient or Just Busy?
Efficient or Just Busy?
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Resource#2
Resource#2Resource#2
Resource#2
 
Introduction to Eclipse Che
Introduction to Eclipse CheIntroduction to Eclipse Che
Introduction to Eclipse Che
 
Testers developers think differently
Testers developers think differentlyTesters developers think differently
Testers developers think differently
 
Scale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conferenceScale quality with kaizen - Tech.Rocks conference
Scale quality with kaizen - Tech.Rocks conference
 
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
 

Similar to How I learned to stop worrying and love to deploy

Continuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdfContinuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
kalichargn70th171
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
Indium Software
 
Test Like A Badger
Test Like A BadgerTest Like A Badger
Test Like A Badger
Michael Badger
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
An Nguyen
 
SRN_11
SRN_11SRN_11
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
Luca Minudel
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
Hoang Le
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
OlympicSoftware
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
IRJET Journal
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Andrey Zhupanenko
 
Intro To Continuous Delivery
Intro To Continuous DeliveryIntro To Continuous Delivery
Intro To Continuous Delivery
Bhanu Musunooru
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
Xebia India
 
Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release Strategies
OpenSense Labs
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
Masas Dani
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
DevOps.com
 
Release Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROIRelease Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROI
TechWell
 
Arun resume
Arun resumeArun resume
Arun resume
ArunkumarM125
 
A New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIMA New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIM
QuEST Global (erstwhile NeST Software)
 

Similar to How I learned to stop worrying and love to deploy (20)

Continuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdfContinuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
 
Test Like A Badger
Test Like A BadgerTest Like A Badger
Test Like A Badger
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
SRN_11
SRN_11SRN_11
SRN_11
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
DevOps CI Automation Continuous Integration
DevOps CI Automation Continuous IntegrationDevOps CI Automation Continuous Integration
DevOps CI Automation Continuous Integration
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Intro To Continuous Delivery
Intro To Continuous DeliveryIntro To Continuous Delivery
Intro To Continuous Delivery
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
Executing Deployment & Release Strategies
Executing Deployment & Release StrategiesExecuting Deployment & Release Strategies
Executing Deployment & Release Strategies
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
 
Release Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROIRelease Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROI
 
Arun resume
Arun resumeArun resume
Arun resume
 
A New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIMA New Generation Software Test Automation Framework – CIVIM
A New Generation Software Test Automation Framework – CIVIM
 

More from Mohan Krishnan

Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"
Mohan Krishnan
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync Explained
Mohan Krishnan
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
Mohan Krishnan
 
Securing your Web API with OAuth
Securing your Web API with OAuthSecuring your Web API with OAuth
Securing your Web API with OAuth
Mohan Krishnan
 
AtomPub, beyond blogs
AtomPub, beyond blogsAtomPub, beyond blogs
AtomPub, beyond blogs
Mohan Krishnan
 
Open Data, Visualization & Usability for Online News Delivery
Open Data,  Visualization &  Usability for  Online News DeliveryOpen Data,  Visualization &  Usability for  Online News Delivery
Open Data, Visualization & Usability for Online News Delivery
Mohan Krishnan
 

More from Mohan Krishnan (6)

Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"Startup Engineering culture - "What matters & what does not"
Startup Engineering culture - "What matters & what does not"
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync Explained
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 
Securing your Web API with OAuth
Securing your Web API with OAuthSecuring your Web API with OAuth
Securing your Web API with OAuth
 
AtomPub, beyond blogs
AtomPub, beyond blogsAtomPub, beyond blogs
AtomPub, beyond blogs
 
Open Data, Visualization & Usability for Online News Delivery
Open Data,  Visualization &  Usability for  Online News DeliveryOpen Data,  Visualization &  Usability for  Online News Delivery
Open Data, Visualization & Usability for Online News Delivery
 

Recently uploaded

Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
Mahmoud Morsy
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 

Recently uploaded (20)

Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
Certificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi AhmedCertificates - Mahmoud Mohamed Moursi Ahmed
Certificates - Mahmoud Mohamed Moursi Ahmed
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 

How I learned to stop worrying and love to deploy

  • 1. How I learned to stop worrying and love to deploy Getting to daily deploys (weekly for apps)
  • 2. WHY: ITS ALL ABOUT THE FEEDBACK ● Shortening the feedback loop allows us to be responsive ● Deploys are a key part of the feedback cycle ● If you are deploying daily without fuss, a whole host of other things are going well: engineering organizational healthcheck Production metrics & user feedback > Story writing & estimates (IPM) > Compilation > UI test > Unit tests > Pair/Code review > Show&tell/Demoday > CI > Staging Deploy (CD) > Tester delivering stories > PM accepting stories > Production Deploy > Production metrics & user feedback
  • 3. TLDR; 1. AUTOMATE ALL THE THINGS (CI - Green builds, CD-automatable canary deploys, Monitoring and alerting) 2. ORGANIZATIONAL ROLE TWEAKS (Product - Developers - Testers - Infra/Support) 3. STANDARDIZATION (Toolsets, frameworks, deployment procedures, monitoring, logging) 4. LOTS OF EFFORT FROM EVERYONE, WITH POWER COMES RESPONSIBILITY (Ownership of costs, Discipline to process, Ownership of production issues)
  • 4. FOUNDATIONAL PRINCIPLES 1. Config as code 2. Confidence through CI/CD 3. Incremental unit of work 4. Immutable infrastructure, Reversible/Canary deploys 5. Shared operational responsibility (monitoring, alerts, pager rotation)
  • 5. CONFIG AS CODE 1. Shared ownership of configuration between dev and ops a. Dev & ops updating common configs 2. Common configuration between dev, staging, production a. Vagrant for local development b. Common ansible roles c. Config code versioned together with application 3. No local changes on VMs in all environments 4. Ephemeral servers: Servers torn down and rebuilt from scratch on config push/daily, cheaper
  • 6. CONFIDENCE THROUGH CI/CD 1. Everyone (Stakeholders, Product, testers, dev, ops etc) is aware of the state of the build a. CI Monitors b. CI in the critical path of a daily workflow 2. Devs+ops make keeping the build green paramount 3. Green build == Deployable build a. Ensure the automated tests cover critical paths, includes UI testing
  • 7. INCREMENTAL UNIT OF WORK 1. Units of work (stories) that are small and that is understood across the team (PM, dev, test, ops) 2. Constantly merging, testing, deploying > trickle through the process with no ceremony a. Feature toggles b. In general stories should take between 1-3 days max
  • 8. IMMUTABLE INFRASTRUCTURE 1. Always baking images, no changes in production on running instances, always replace with latest instance 2. Ansible used as a config management tool to build images - same roles used on dev 3. Canary deploys
  • 9. SHARED OPERATIONAL RESPONSIBILITY 1. Dev and ops on call schedules 2. Shared responsibility between dev/ops/testers 3. PM updated of operational overheads, prioritizes stories to improve things 4. Shared pager responsibility