SlideShare a Scribd company logo
1 of 32
Deploying Straight to Prod
A guide to the holy grail
Damian Brady
@damovisa
Who am I?
Damian Brady
An Australian guy who talks about DevOps a lot
I am
here
@damovisa
@damovisa
@damovisa
Is this guy really going to tell us
to deploy straight to production?
No
Yes
?
OH NO PLEASE NO
Pipelines
Production?
AGENDA
@damovisa
Continuous
Delivery
Continuous
Integration
Continuous
Deployment
merge, build, test ready to deploy automatically deployed
TERMINOLOGY
@damovisa
Continuous
Delivery
Continuous
Integration
Continuous
Deployment
merge, build, test ready to deploy automatically deployed
TERMINOLOGY
DEMO
Uhhh, wait a second…
The Pipeline
@damovisa
THE PIPELINE
@damovisa
A pipeline is about automation
THE PIPELINE
@damovisa
THE PIPELINE
A pipeline is about automation
@damovisa
A pipeline is about automation
THE PIPELINE
@damovisa
BUILD
Does it merge?
Does it compile?
TEST
Do our tests pass?
Is our code secure?
DEPLOY + TEST
Do the tests still pass?
Does the UI work?
Can we talk to our DB?
PRODUCTION
I might buy a yacht.
A pipeline is about testing
THE PIPELINE
Did our deployment work?
@damovisa
BUILD
Does it merge?
Does it compile?
TEST
Do our tests pass?
Is our code secure?
PRODUCTION
I might buy a yacht.
A pipeline is about testing
THE PIPELINE
DEPLOY + TEST
Do the tests still pass?
Does the UI work?
Can we talk to our DB?
Did our deployment work?
DEMO
Back in the real world…
@damovisa
@damovisa
Feature
Branching
Feature
Flags
in-progress features
don’t go all the way to
production
everything goes to
production, but in-progress
features are invisible
PRODUCTION?
@damovisa
DeploymentRelease Launch
the artifacts and
deployment steps that
define a version
putting a release
in an environment
giving a change to
the users
TERMINOLOGY
Deploying a Release is a technical event
A Launch is a business event
@damovisa
Build and Test
Deploy to …
FEATURE FLAG PIPELINE
Deploy to Prod
Test features
Launch
@damovisa
Build and Test
Deploy to …
FEATURE FLAG PIPELINE
Deploy to Prod
Test features
Launch
@damovisa
BENEFITS
Pipeline provides a filter
Separates the Launch from the Deployment
Test in Production!
DEMO
@damovisa
BUT WHAT ABOUT…
One-way changes
Branch by
Abstraction
Transitional
Deployments
Technical
Debt
give yourself a
way back
resolve dependencies
based on feature flags
clean up after
yourself
@damovisa
+ + =
Everything.
Yes, everything.
Automation01
Stop the bad from
getting to Production
Testing02
Separate Deployment from Release
Test in Production!
Feature Flags03
A white yacht please.
Success
TAKEAWAYS
damovisa.me
THANK YOU
@damovisa
http://brdy.in/NDCProd

More Related Content

Similar to Deploying Straight to Production: A Guide to the Holy Grail - PrDC

Making the Mobile Web Work
Making the Mobile Web WorkMaking the Mobile Web Work
Making the Mobile Web Work
Terry Ryan
 
Day projectcon real-world-scrum
Day projectcon real-world-scrumDay projectcon real-world-scrum
Day projectcon real-world-scrum
ProjectCon
 

Similar to Deploying Straight to Production: A Guide to the Holy Grail - PrDC (20)

Ember.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over ConfigurationEmber.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over Configuration
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015
 
devopsdays Kiel 2018 - Can the AI hype & ML algorithms harm your devops initi...
devopsdays Kiel 2018 - Can the AI hype & ML algorithms harm your devops initi...devopsdays Kiel 2018 - Can the AI hype & ML algorithms harm your devops initi...
devopsdays Kiel 2018 - Can the AI hype & ML algorithms harm your devops initi...
 
Flow. The official worst software development approach in history
Flow. The official worst software development approach in historyFlow. The official worst software development approach in history
Flow. The official worst software development approach in history
 
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanieOstatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
 
From Commit To Production And Beyond
From Commit To Production And BeyondFrom Commit To Production And Beyond
From Commit To Production And Beyond
 
Operations as a Strategic Differentiator
Operations as a Strategic DifferentiatorOperations as a Strategic Differentiator
Operations as a Strategic Differentiator
 
A Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and ReactA Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and React
 
Making the Mobile Web Work
Making the Mobile Web WorkMaking the Mobile Web Work
Making the Mobile Web Work
 
Cut the crap. Practical tips and real world examples for removing waste from ...
Cut the crap. Practical tips and real world examples for removing waste from ...Cut the crap. Practical tips and real world examples for removing waste from ...
Cut the crap. Practical tips and real world examples for removing waste from ...
 
Devops hot or not - bridging the gap between dev and ops
Devops   hot or not - bridging the gap between dev and opsDevops   hot or not - bridging the gap between dev and ops
Devops hot or not - bridging the gap between dev and ops
 
A Software Engineer's Guide to DevOps
A Software Engineer's Guide to DevOpsA Software Engineer's Guide to DevOps
A Software Engineer's Guide to DevOps
 
Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)Continuously delivering software to big brands (fullscreen edition)
Continuously delivering software to big brands (fullscreen edition)
 
KIM DEWE - How to automate key SEO processes using API’s and Google Sheets (B...
KIM DEWE - How to automate key SEO processes using API’s and Google Sheets (B...KIM DEWE - How to automate key SEO processes using API’s and Google Sheets (B...
KIM DEWE - How to automate key SEO processes using API’s and Google Sheets (B...
 
The Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cliThe Tale of 2 CLIs - Ember-cli and Angular-cli
The Tale of 2 CLIs - Ember-cli and Angular-cli
 
Day projectcon real-world-scrum
Day projectcon real-world-scrumDay projectcon real-world-scrum
Day projectcon real-world-scrum
 
Cloudbrew 2019 observability driven development
Cloudbrew 2019   observability driven developmentCloudbrew 2019   observability driven development
Cloudbrew 2019 observability driven development
 
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
 
Fast or Furious - Global Retail Benchmarks Webinar
Fast or Furious - Global Retail Benchmarks Webinar Fast or Furious - Global Retail Benchmarks Webinar
Fast or Furious - Global Retail Benchmarks Webinar
 
Modern devOps with Docker
Modern devOps with DockerModern devOps with Docker
Modern devOps with Docker
 

More from damovisa

How to be a good TFS Master
How to be a good TFS MasterHow to be a good TFS Master
How to be a good TFS Master
damovisa
 

More from damovisa (7)

DevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC SydneyDevOps for Data Science - NDC Sydney
DevOps for Data Science - NDC Sydney
 
DevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTSDevOps Best Practices for Azure and VSTS
DevOps Best Practices for Azure and VSTS
 
DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUG
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great API
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
 
Hack your process
Hack your processHack your process
Hack your process
 
How to be a good TFS Master
How to be a good TFS MasterHow to be a good TFS Master
How to be a good TFS Master
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
 

Recently uploaded (20)

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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Deploying Straight to Production: A Guide to the Holy Grail - PrDC

Editor's Notes

  1. Don’t argue. These definitions come from the bible – the Continuous Delivery book by Jez Humble and David Farley. It’s a progression.
  2. …The end goal of this pipeline is…
  3. …For this to work, the pipeline must be concerned with two things…
  4. You’re testing the stuff you couldn’t test before – does this meet customer expectations? With real data? In a real live environment?
  5. Make sure your code can run with the flag on and off. Avoid clashes and things you can’t undo. It’s hard. For large architectural changes, branch by abstraction (look it up) lets you resolve dependencies based on feature flags