SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
What Is This Continuous
Delivery Thing,Anyway?
Eric Shamow
Methodologies Lead / Product Owner | Puppet Labs
@eshamow
Friday, August 23, 13
puppetconf.com #puppetconf
Who am I?
Friday, August 23, 13
What is Continuous
Delivery?
It’s about cycle time
Friday, August 23, 13
puppetconf.com #puppetconf
Code is Value
Friday, August 23, 13
puppetconf.com #puppetconf
Code is Value
“How long would it take your organization to
deploy a change that involves just one single
line of code? Do you do this on a repeatable,
reliable basis?”
- Mary and Tom Poppendieck, Implementing Lean Software
Development
Friday, August 23, 13
puppetconf.com #puppetconf
Code is Value
“Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.”
- First Principle, Agile Manifesto
Friday, August 23, 13
Gene Kim’s Three Ways
Laying a foundation
Friday, August 23, 13
puppetconf.com #puppetconf
Developing Systems Thinking
The Three WaysTheory of Constraints
Friday, August 23, 13
puppetconf.com #puppetconf
The First Way (Automate)
Systems Thinking / Flow
Business Customer
Dev Ops
Friday, August 23, 13
puppetconf.com #puppetconf
The First Way (Automate)
• Never pass a defect downstream
• Never allow local optimization to create
global degradation
• Always look to increase flow
• Always seek to achieve profound
understanding of the system
Friday, August 23, 13
puppetconf.com #puppetconf
The Second Way (Collaborate)
Amplify Feedback Loops
Business Customer
Dev Ops
Friday, August 23, 13
puppetconf.com #puppetconf
The Second Way (Collaborate)
• Foster information sharing across teams
• Better understanding of customers
• Fix defects faster, prevent regressions
• Adapt processes to other teams
• Decrease delivery time, decrease unplanned
work
Friday, August 23, 13
puppetconf.com #puppetconf
The Third Way (Ship)
Culture - Continual Experimentation and Learning
Business Customer
Dev Ops
Friday, August 23, 13
puppetconf.com #puppetconf
The Third Way (Ship)
• Continual experimentation
• Acceptance of risk and learning from failure
• Do difficult things more often to gain mastery
• Inject faults into production/practice outages
• Test business hypotheses through pipeline
results
• Add system stress to decrease cycle time
Friday, August 23, 13
puppetconf.com #puppetconf
Now Your Organization
Can Do Lean/Agile
Friday, August 23, 13
So,Back To Cycle Times
We want to reduce them. Where do we look?
Friday, August 23, 13
puppetconf.com #puppetconf
Traditional Release Process
Monolithic
plan
MVP
code
QA/Test Delivery
Budgeted time Delays
Friday, August 23, 13
puppetconf.com #puppetconf
This is What Failure Looks Like
Friday, August 23, 13
puppetconf.com #puppetconf
Cycle Time Is Key
“The periodicity of integration decayed...so it
ended up that it took between 1 and 3 months
for my code to get to the root node, and some
multiple of that for it to reach the other
nodes.”
- Moishe Lettvin - The Windows Shutdown Crapfest
Friday, August 23, 13
puppetconf.com #puppetconf
This is What Success Looks Like
Friday, August 23, 13
puppetconf.com #puppetconf
This is What Success Looks Like
• You haven’t read it yet
• You still haven’t read it
• Why are you still here?
• GO. READ IT NOW.
Friday, August 23, 13
puppetconf.com #puppetconf
This is What Success Looks Like
• Frequent, automated releases
• Every check-in is a potential release
• Every change triggers feedback
• Feedback must be received as soon as possible
• Automate almost everything
• Build quality in
- Chris Hilton, Beyond Continuous Delivery
Friday, August 23, 13
puppetconf.com #puppetconf
Deployment Pipeline
Shamelessly stolen from Jez Humble
Friday, August 23, 13
How Does CD Work?
Building a Delivery Pipeline
Friday, August 23, 13
puppetconf.com #puppetconf
Divide Toolkit Into Components
• Continuous Integration Tooling
• Configuration Management
• Application Deployment
• Monitoring/Metrics
Friday, August 23, 13
puppetconf.com #puppetconf
Continuous Integration Tooling
CI Server - Jenkins
Friday, August 23, 13
puppetconf.com #puppetconf
Continuous Integration Tooling
VCS Integration
Everything gets checked into trunk
Continuous Integration means you continuously
(multiple times a day) integrate (check all of your
code together)
Friday, August 23, 13
puppetconf.com #puppetconf
Configuration Management
• Puppet
• Integrate Puppet with VCS
Friday, August 23, 13
puppetconf.com #puppetconf
Configuration Management
• Integrate Puppet with VCS
Friday, August 23, 13
puppetconf.com #puppetconf
Configuration Management
• Integrate Puppet with VCS
Friday, August 23, 13
puppetconf.com #puppetconf
Application Deployment
• Puppet for middleware
• Mcollective for more complex orchestration
Friday, August 23, 13
puppetconf.com #puppetconf
Monitoring/Metrics
• Don’t just rely on your CI tool
• Graphite
• Logstash
• Splunk
• Nagios
Friday, August 23, 13
puppetconf.com #puppetconf
Event Inspector
Friday, August 23, 13
How Do We Get Buy-In?
Target internal customer needs
Friday, August 23, 13
puppetconf.com #puppetconf
Why Do I Want CD (if I’m the Business)
• Innovate Faster
• Respond to Market Demands
• Fix Screw-Ups
• Lean/Agile
Friday, August 23, 13
puppetconf.com #puppetconf
Why Do I Want CD? (If I’m Dev)
• I can’t test against prod unless my
environment looks like prod
• Finding out root cause is really hard
• Merge windows are really hard
• I need QA/Test feedback quickly
Friday, August 23, 13
puppetconf.com #puppetconf
Why Do I Want CD? (If I’m Ops)
• Ensure I get real handoff from Dev
• Infrastructure changes tested along with apps
• Small changes that don’t blow up prod on
deploy day
• Ensure changes are thoroughly tested before
deploy
• Self-service
Friday, August 23, 13
puppetconf.com #puppetconf
It’s a Culture Shift
• Tooling is important
• People and culture are more important
• Everybody owns the pipeline
• If the build is broken, it’s everybody’s problem
• We’re on the same team
Friday, August 23, 13
Thank You
Eric Shamow
Methodologies Lead / Product Owner | Puppet Labs
@eshamow
Collaborate. Automate. Ship.
Friday, August 23, 13
Follow us on Twitter @puppetlabs
youtube.com/puppetlabsinc
slideshare.net/puppetlabs
Collaborate. Automate. Ship.
Friday, August 23, 13

Mais conteúdo relacionado

Semelhante a What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013

Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Puppet
 
Continuous Deployment of Clojure Apps
Continuous Deployment of Clojure AppsContinuous Deployment of Clojure Apps
Continuous Deployment of Clojure Apps
Siva Jagadeesan
 
Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013
Ptah Dunbar
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
Mike Edwards
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
Pamela Fox
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
Yuval Yeret
 

Semelhante a What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013 (20)

Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
Using Orchestration in Puppet Enterprise 3 - PuppetConf 2013
 
How Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet EnterpriseHow Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet Enterprise
 
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
Forging Great Modules: Standards, Tools and Patterns - PuppetConf 2013
 
Continuous Delivery for the Web Platform
Continuous Delivery for the Web PlatformContinuous Delivery for the Web Platform
Continuous Delivery for the Web Platform
 
Continuous Deployment of Clojure Apps
Continuous Deployment of Clojure AppsContinuous Deployment of Clojure Apps
Continuous Deployment of Clojure Apps
 
Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013
 
Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013Unit testing like a pirate #wceu 2013
Unit testing like a pirate #wceu 2013
 
Infrastructure as Data - PuppetConf 2013
Infrastructure as Data - PuppetConf 2013Infrastructure as Data - PuppetConf 2013
Infrastructure as Data - PuppetConf 2013
 
อไจล์ ๑๐๑ รุ่น ๓.๐
อไจล์ ๑๐๑ รุ่น ๓.๐อไจล์ ๑๐๑ รุ่น ๓.๐
อไจล์ ๑๐๑ รุ่น ๓.๐
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
 
Coscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopCoscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoop
 
Designing the User Experience - UCCSC 2013
Designing the User Experience - UCCSC 2013Designing the User Experience - UCCSC 2013
Designing the User Experience - UCCSC 2013
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
How to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David BonillaHow to build an ecosystem for developers by David Bonilla
How to build an ecosystem for developers by David Bonilla
 
Velocity 2013 - Rum vs Synthetic
Velocity 2013 - Rum vs SyntheticVelocity 2013 - Rum vs Synthetic
Velocity 2013 - Rum vs Synthetic
 
Drupalcon PDX Swagger
Drupalcon PDX SwaggerDrupalcon PDX Swagger
Drupalcon PDX Swagger
 
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
Storyplayer
StoryplayerStoryplayer
Storyplayer
 
Unlocked Workshop OSCON 2013 - Part I
Unlocked Workshop OSCON 2013 - Part IUnlocked Workshop OSCON 2013 - Part I
Unlocked Workshop OSCON 2013 - Part I
 

Mais de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 

Mais de Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Último

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
 
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
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
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
 

What Is This Continuous Delivery Thing Anyway? - PuppetConf 2013