SlideShare a Scribd company logo
1 of 27
The Role of Pipelines in Continuous
DeliveryMandi Walls | Technical Community Manager, EMEA | mandi@chef.io
Hi!
• Mandi Walls
• Technical Community Manager for EMEA
• @LNXCHK
• mandi@chef.io
Let’s Talk About Pipelines
What Do We Mean by Pipeline
• The workflow teams use to get changes created and published
• The processes and services a set of code has to pass through to reach
production
Dev, Build, Test, Stage, etc
• Looks a bit more like an assembly line with stations dedicated to specific work
• Often referred to in Continuous Delivery environments, but not restricted to CD
Why Do We Need Pipelines
• All changes must pass through the same requirements
• All people making changes use the same workflow
• All changes face the same rigor before being promoted to the next step
• Promotes high-velocity throughput for change
• Automate steps so they aren’t forgotten
• Reduce risk through predictability
What Does Your Workflow Look Like?
• Source of pain and angst
• Easy to subvert if you “know the right people”
• Full of checkboxes and ceremonies that result in questionable value
Fears for Bad Workflow
• Change isn’t documented until it gets to the “change review board”
• Heavy workflow requirements slow down faster teams
• Security and performance teams aren’t involved until after install, if at all
• People find ways to get around the workflow checkpoints to get work produced
faster
Who knows what testing that stuff might have gone through???
• No one wants to pay for full testing and integration environments
Are they really more expensive than having a defect escape to production?
• People forget stuff, steps get left out, the results are inconsistent
Your Pipeline Should Help Meet Your Goals
• Minimize escaped defects
• Aid MTTR
• Ship new features faster
• Fix bugs, respond to user issues faster
• Provide a record of changes made, who made them, and when they were
installed
Characteristics of a Good Workflow
• Allows for some customization between projects, but everyone still hits all
checkpoints
• Portable between projects
• Simple entry point for change to application or infrastructure
• Optional human gates for approvals by release management, product
management, marketing, etc
• Testing and integration environments represent “real world” and are easy to
maintain
The stages are fixed, and each stage has a fixed set of phases
APPROVE DELIVER
Lint
Syntax
Unit
Security
Quality
Publish
Lint
Syntax
Unit
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functiona
l
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functional
Submi
t
Chang
e
Does this
code change
look good?
Do we want
to ship this?
What We Learned From the Market
Configurable Pipelines
• Plug in your preferred or required subsystems for testing, provisioning test
nodes, building and publishing artifacts
Don’t test Java applications with the same tools that test .NET applications
Might run your QA environment in-house or in a cloud
• Middle environments might be long-lived (good for integration among several
projects) or short-lived (better for smoke testing a single project)
Pipelines with Portability
• The pipeline skeleton layout should be easy to bring to any new project
• Predictable stages and steps allows teams to choose correct tools for each
checkpoint
• Developers and Testers don’t have to learn multiple different workflows to work
on different projects
Simple Entry Points
• All change – application or infrastructure – has the same entry point
• Code is the starting point!
Team members can use their preferred tools to create the code
• Check code in, kick off the pipeline
• Include peer review for all changes early
Human Gates
• A lot of the work in your pipeline should be automated and not require human
interference as long as nothing breaks
• Peer review at the first stages of the workflow can catch errors, incorrect
assumptions, potential security issues before more work is done
• When the tests pass, do you want to ship the change?
Conditions may have changed since the code was first checked in
Assess risk, make final product decision, provide approval
• May not be necessary for every change
Maintaining Believable Testing Environments
• Do they even look a little bit like production?
• System automation plays a big role in minimizing the impact of having more test
hosts
• Cloud management, provisioning tools allow for more granular spin up / turn
down for hosts that aren’t used all the time
Profiles can be permanent / long-lived, but the hosts don’t need to be
The stages are fixed, and each stage has a fixed set of phases
APPROVE DELIVER
Lint
Syntax
Unit
Security
Quality
Publish
Lint
Syntax
Unit
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functiona
l
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functional
Submi
t
Chang
e
Does this
code change
look good?
Do we want
to ship this?
Your Workflow Reflects Your Culture
• Are you Lean? Your workflow will be Lean
• Are you Agile? Your workflow will have multiple points of agility
• Is your environment regulated, held to compliance guidelines? Your workflow
should include those requirements
Wait, what?
You put the security stuff in the pipeline?
Product Ideas and Features
Security Review
Production
Wow
• Keeping your pipeline in a predictable shape aids in transparency and
knowledge sharing
• The inclusion of additional “non-functional” requirements becomes less onerous
Lint
Syntax
Unit
Security
Quality
Publish
Security scan is in the BUILD
step. Before the change goes into
more expensive or time
consuming testing processes
InSpec
• Rspec-like language to verify security settings and compliance in your systems
SSH supports two different
protocol versions. The
original version, SSHv1,
was subject to a number of
security issues. Please use
SSHv2 instead to avoid
these.
describe sshd_config do
impact 1.0
title 'SSH Version 2'
desc <<-EOF
SSH supports two different...
EOF
its('Protocol') { should cmp 2 }
end
Review Unified Pipeline Shape
The stages are fixed, and each stage has a fixed set of phases
APPROVE DELIVER
Lint
Syntax
Unit
Security
Quality
Publish
Lint
Syntax
Unit
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functiona
l
Provision
Deploy
Smoke
Functional
Provision
Deploy
Smoke
Functional
Submi
t
Chang
e
Does this
code change
look good?
Do we want
to ship this?
Shared Workflow for Strong Integration Testing
Delivery’s pipeline is shared across projects and teams
Chef’s Automate Pipeline
• Builds on the flexibility of the original Chef project – System Automation
• Includes peer review right out of the box
• Encourages building robust testing by locking in stages and phases while
allowing configurable steps via code
• Deploys right to production, because Chef knows about your infrastructure
already
To Learn More
• https://chef.io
• Visit our Booth: GG6
• https://continuousdelivery.com more on Continuous Delivery in general from Jez
Humble
Visit Us At Our Booth, #GG6

More Related Content

What's hot

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014CloudBees
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"CloudBees
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 
Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Kangaroot
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beMandi Walls
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017Mandi Walls
 
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi Walls
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi WallsOSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi Walls
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi WallsNETWAYS
 
Adding Security to Your Workflow with InSpec (MAY 2017)
Adding Security to Your Workflow with InSpec (MAY 2017)Adding Security to Your Workflow with InSpec (MAY 2017)
Adding Security to Your Workflow with InSpec (MAY 2017)Mandi Walls
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Simplilearn
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersCloudBees
 
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudCI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudSimon McCartney
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017Mandi Walls
 
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast Compuware
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce
 
Continuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeContinuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeHARMAN Services
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsNuxeo
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineSlawa Giterman
 
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...DevOpsDays Riga
 
Brian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones
 

What's hot (20)

Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014Jenkins Workflow Webinar - Dec 10, 2014
Jenkins Workflow Webinar - Dec 10, 2014
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...Inspec: Turn your compliance, security, and other policy requirements into au...
Inspec: Turn your compliance, security, and other policy requirements into au...
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017
 
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi Walls
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi WallsOSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi Walls
OSDC 2017 | Building Security Into Your Workflow with InSpec by Mandi Walls
 
Adding Security to Your Workflow with InSpec (MAY 2017)
Adding Security to Your Workflow with InSpec (MAY 2017)Adding Security to Your Workflow with InSpec (MAY 2017)
Adding Security to Your Workflow with InSpec (MAY 2017)
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS CloudCI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
CI/CD Pipeline to Deploy and Maintain an OpenStack IaaS Cloud
 
InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017InSpec For DevOpsDays Amsterdam 2017
InSpec For DevOpsDays Amsterdam 2017
 
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast
Go Fast, Go Safe, Go on Vacation - Compuware ISPW Webcast
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
 
Continuous Integration - Mobile Practice
Continuous Integration - Mobile PracticeContinuous Integration - Mobile Practice
Continuous Integration - Mobile Practice
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
 
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
DevOpsDaysRiga 2017: Mandi Walls - Building security into your workflow with ...
 
Brian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2p
 

Similar to Role of Pipelines in Continuous Delivery

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 DevOpsMoataz Mahmoud
 
Chef Workflow Demo
Chef Workflow DemoChef Workflow Demo
Chef Workflow DemoChef
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous deliveryOlympicSoftware
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013David Funaro
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryScriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryNet Solutions
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthSVPMA
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssmssmarar
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - FunaroCodemotion
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014David Funaro
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything ChefMandi Walls
 

Similar to Role of Pipelines in Continuous Delivery (20)

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
 
Chef Workflow Demo
Chef Workflow DemoChef Workflow Demo
Chef Workflow Demo
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate DeliveryScriptless Automation Testing: A Unique Framework To Accelerate Delivery
Scriptless Automation Testing: A Unique Framework To Accelerate Delivery
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company Growth
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Ncerc rlmca202 adm m3 ssm
Ncerc rlmca202  adm m3 ssmNcerc rlmca202  adm m3 ssm
Ncerc rlmca202 adm m3 ssm
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
A Bit of Everything Chef
A Bit of Everything ChefA Bit of Everything Chef
A Bit of Everything Chef
 

More from Mandi Walls

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfMandi Walls
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineeringMandi Walls
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service OwnershipMandi Walls
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsMandi Walls
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020Mandi Walls
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityMandi Walls
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xMandi Walls
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopMandi Walls
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018Mandi Walls
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopMandi Walls
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker budMandi Walls
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpecMandi Walls
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab ITMandi Walls
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017Mandi Walls
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Mandi Walls
 
Habitat at SRECon
Habitat at SREConHabitat at SRECon
Habitat at SREConMandi Walls
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to HabitatMandi Walls
 
Configuration Management is Old and Boring
Configuration Management is Old and BoringConfiguration Management is Old and Boring
Configuration Management is Old and BoringMandi Walls
 

More from Mandi Walls (20)

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdf
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineering
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call Teams
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17x
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec Workshop
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpec
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab IT
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
Habitat at SRECon
Habitat at SREConHabitat at SRECon
Habitat at SRECon
 
Containerdays Intro to Habitat
Containerdays Intro to HabitatContainerdays Intro to Habitat
Containerdays Intro to Habitat
 
Configuration Management is Old and Boring
Configuration Management is Old and BoringConfiguration Management is Old and Boring
Configuration Management is Old and Boring
 

Recently uploaded

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 educationjfdjdjcjdnsjd
 
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...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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...DianaGray10
 
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...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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 organizationRadu Cotescu
 
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 FresherRemote DBA Services
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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 DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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 AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 TerraformAndrey Devyatkin
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Recently uploaded (20)

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
 
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...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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...
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.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
 
+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...
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Role of Pipelines in Continuous Delivery

  • 1. The Role of Pipelines in Continuous DeliveryMandi Walls | Technical Community Manager, EMEA | mandi@chef.io
  • 2. Hi! • Mandi Walls • Technical Community Manager for EMEA • @LNXCHK • mandi@chef.io
  • 3. Let’s Talk About Pipelines
  • 4. What Do We Mean by Pipeline • The workflow teams use to get changes created and published • The processes and services a set of code has to pass through to reach production Dev, Build, Test, Stage, etc • Looks a bit more like an assembly line with stations dedicated to specific work • Often referred to in Continuous Delivery environments, but not restricted to CD
  • 5. Why Do We Need Pipelines • All changes must pass through the same requirements • All people making changes use the same workflow • All changes face the same rigor before being promoted to the next step • Promotes high-velocity throughput for change • Automate steps so they aren’t forgotten • Reduce risk through predictability
  • 6. What Does Your Workflow Look Like? • Source of pain and angst • Easy to subvert if you “know the right people” • Full of checkboxes and ceremonies that result in questionable value
  • 7. Fears for Bad Workflow • Change isn’t documented until it gets to the “change review board” • Heavy workflow requirements slow down faster teams • Security and performance teams aren’t involved until after install, if at all • People find ways to get around the workflow checkpoints to get work produced faster Who knows what testing that stuff might have gone through??? • No one wants to pay for full testing and integration environments Are they really more expensive than having a defect escape to production? • People forget stuff, steps get left out, the results are inconsistent
  • 8. Your Pipeline Should Help Meet Your Goals • Minimize escaped defects • Aid MTTR • Ship new features faster • Fix bugs, respond to user issues faster • Provide a record of changes made, who made them, and when they were installed
  • 9. Characteristics of a Good Workflow • Allows for some customization between projects, but everyone still hits all checkpoints • Portable between projects • Simple entry point for change to application or infrastructure • Optional human gates for approvals by release management, product management, marketing, etc • Testing and integration environments represent “real world” and are easy to maintain
  • 10. The stages are fixed, and each stage has a fixed set of phases APPROVE DELIVER Lint Syntax Unit Security Quality Publish Lint Syntax Unit Provision Deploy Smoke Functional Provision Deploy Smoke Functiona l Provision Deploy Smoke Functional Provision Deploy Smoke Functional Submi t Chang e Does this code change look good? Do we want to ship this? What We Learned From the Market
  • 11. Configurable Pipelines • Plug in your preferred or required subsystems for testing, provisioning test nodes, building and publishing artifacts Don’t test Java applications with the same tools that test .NET applications Might run your QA environment in-house or in a cloud • Middle environments might be long-lived (good for integration among several projects) or short-lived (better for smoke testing a single project)
  • 12. Pipelines with Portability • The pipeline skeleton layout should be easy to bring to any new project • Predictable stages and steps allows teams to choose correct tools for each checkpoint • Developers and Testers don’t have to learn multiple different workflows to work on different projects
  • 13. Simple Entry Points • All change – application or infrastructure – has the same entry point • Code is the starting point! Team members can use their preferred tools to create the code • Check code in, kick off the pipeline • Include peer review for all changes early
  • 14. Human Gates • A lot of the work in your pipeline should be automated and not require human interference as long as nothing breaks • Peer review at the first stages of the workflow can catch errors, incorrect assumptions, potential security issues before more work is done • When the tests pass, do you want to ship the change? Conditions may have changed since the code was first checked in Assess risk, make final product decision, provide approval • May not be necessary for every change
  • 15. Maintaining Believable Testing Environments • Do they even look a little bit like production? • System automation plays a big role in minimizing the impact of having more test hosts • Cloud management, provisioning tools allow for more granular spin up / turn down for hosts that aren’t used all the time Profiles can be permanent / long-lived, but the hosts don’t need to be
  • 16. The stages are fixed, and each stage has a fixed set of phases APPROVE DELIVER Lint Syntax Unit Security Quality Publish Lint Syntax Unit Provision Deploy Smoke Functional Provision Deploy Smoke Functiona l Provision Deploy Smoke Functional Provision Deploy Smoke Functional Submi t Chang e Does this code change look good? Do we want to ship this?
  • 17. Your Workflow Reflects Your Culture • Are you Lean? Your workflow will be Lean • Are you Agile? Your workflow will have multiple points of agility • Is your environment regulated, held to compliance guidelines? Your workflow should include those requirements
  • 18. Wait, what? You put the security stuff in the pipeline?
  • 19. Product Ideas and Features Security Review Production
  • 20. Wow • Keeping your pipeline in a predictable shape aids in transparency and knowledge sharing • The inclusion of additional “non-functional” requirements becomes less onerous Lint Syntax Unit Security Quality Publish Security scan is in the BUILD step. Before the change goes into more expensive or time consuming testing processes
  • 21. InSpec • Rspec-like language to verify security settings and compliance in your systems SSH supports two different protocol versions. The original version, SSHv1, was subject to a number of security issues. Please use SSHv2 instead to avoid these. describe sshd_config do impact 1.0 title 'SSH Version 2' desc <<-EOF SSH supports two different... EOF its('Protocol') { should cmp 2 } end
  • 22.
  • 23. Review Unified Pipeline Shape The stages are fixed, and each stage has a fixed set of phases APPROVE DELIVER Lint Syntax Unit Security Quality Publish Lint Syntax Unit Provision Deploy Smoke Functional Provision Deploy Smoke Functiona l Provision Deploy Smoke Functional Provision Deploy Smoke Functional Submi t Chang e Does this code change look good? Do we want to ship this?
  • 24. Shared Workflow for Strong Integration Testing Delivery’s pipeline is shared across projects and teams
  • 25. Chef’s Automate Pipeline • Builds on the flexibility of the original Chef project – System Automation • Includes peer review right out of the box • Encourages building robust testing by locking in stages and phases while allowing configurable steps via code • Deploys right to production, because Chef knows about your infrastructure already
  • 26. To Learn More • https://chef.io • Visit our Booth: GG6 • https://continuousdelivery.com more on Continuous Delivery in general from Jez Humble
  • 27. Visit Us At Our Booth, #GG6

Editor's Notes

  1. We’ve taken a different approach compared to other solutions in that in Delivery the pipeline has a fixed shape. Pipelines consist of six fixed stages, each of which is comprised of a fixed set of phases. It's not that we're trying to be inflexible; change the conversation. The common pipeline is prescriptive because it's based on our collective experience. The flexibility resides in the way you define what happens in each phase, described in the next two slides. An example here is you can include compliance in your workflow via the Functional phase to confirm that your organization’s security rules are part of testing a change Part of the reason this is the right approach is that arguing over the pipeline shape can become a huge delay to adopting CD. Custom pipelines are more difficult to maintain and keep stable over time. Delivery includes explicit review and approval gates This allows you to manage change in a way that is compliant with your business or regulatory requirements
  2. We’ve taken a different approach compared to other solutions in that in Delivery the pipeline has a fixed shape. Pipelines consist of six fixed stages, each of which is comprised of a fixed set of phases. It's not that we're trying to be inflexible; change the conversation. The common pipeline is prescriptive because it's based on our collective experience. The flexibility resides in the way you define what happens in each phase, described in the next two slides. An example here is you can include compliance in your workflow via the Functional phase to confirm that your organization’s security rules are part of testing a change Part of the reason this is the right approach is that arguing over the pipeline shape can become a huge delay to adopting CD. Custom pipelines are more difficult to maintain and keep stable over time. Delivery includes explicit review and approval gates This allows you to manage change in a way that is compliant with your business or regulatory requirements
  3. This is how I think of “security reviews” – they slow down the flow and change backs up. The more changes back up, the more we need to “expedite” or “force” things through the dam in order to satisfy LoB needs. Which leads to…
  4. We’ve taken a different approach compared to other solutions in that in Delivery the pipeline has a fixed shape. Pipelines consist of six fixed stages, each of which is comprised of a fixed set of phases. It's not that we're trying to be inflexible; change the conversation. The common pipeline is prescriptive because it's based on our collective experience. The flexibility resides in the way you define what happens in each phase, described in the next two slides. An example here is you can include compliance in your workflow via the Functional phase to confirm that your organization’s security rules are part of testing a change Part of the reason this is the right approach is that arguing over the pipeline shape can become a huge delay to adopting CD. Custom pipelines are more difficult to maintain and keep stable over time. Delivery includes explicit review and approval gates This allows you to manage change in a way that is compliant with your business or regulatory requirements
  5. Delivery behaves no differently for "infrastructure" code or "application" code. One of our core principles is that code is code, and Union is where all the pieces meet. - To weave compliance in here, you can talk about using the pipeline to quickly delivery patches needed in an emergency remediation scenario (vulnerability response) An update for compliance is likely something that should be managed via a cookbook, such as OpenSSL patch to remediate a vulnerability Each project has its own acceptance pipeline. The system enforces a single change-at-a-time moving through each of Union, Rehearsal, and Delivered. This keeps things stable. If something breaks, you can identify the change that introduced the breakage, and you know who to pull into a conversation about how to fix things. NOTE: the psychology of what are you making a change to? The WHOLE THING. It's a system. Not a project. This is a good place to talk about why the shared pipeline model promotes safety: Delivery promotes a “small batch” model, shipping one thing at a time to ensure discovery of integration problems before a change reaches production. Union is the place where all the pieces meet within a dependency set to ensure the system as a whole is safe. If you are managing 4 projects through your Delivery pipeline and the first 3 have dependencies within each other, we can think of those as a conceptual dependency set within Union. If the fourth project that is not part of that dependency set has a change that needs to go through, it will not get “stuck” behind changes related to the first 3 projects. In this way it is possible for changes to move through the shared pipeline in parallel, where there are not overlaps in their respective dependencies. Being able to move fast itself adds safety: remediation of defects, vulnerabilities etc. Systems that are easy to fix are safer. Q. Why did we not choose "QA", "staging" and "production" as the names instead of "union", "rehearsal", and "delivered"? And can I customize the names? A. The semantics of those words are overloaded and different in each business, so we wanted to start from a clean slate. The names cannot be changed.