alldaydevops: crossing the cd chasm
TRANSCRIPT
J. Paul Reed Managing Partner • Release Engineering Approaches
Crossing the CD Chasm
November 15, 2016
J. Paul Reed•@jpaulreed on •@shipshowpodcast alum•Fifteen years as a build/release engineer•Now a “DevOps consultant™”•Master’s candidate in Human Factors & Systems Safety
@jpaulreed @AllDayDevOps
Let’s Start with a Survey...
@jpaulreed @AllDayDevOps
Continuous Delivery
@jpaulreed @AllDayDevOps
Continuous DeliveryDeployment
@jpaulreed @AllDayDevOps
Continuous DeliveryDeploymentDerpliveryment
@jpaulreed @AllDayDevOps
Continuous Delivery Means Minimizing Lead Time From Idea To Production And Then Feeding Back To Idea Again. R o l f A n d re w R u s s e l l , T h o u g h t w o r k s
”
“
@jpaulreed @AllDayDevOps
Continuous Delivery Is A Set Of Principles And Practices To Reduce The Cost, Time, And Risk Of Delivering Incremental Changes To Users.J e z H u m b l e
”
“
@jpaulreed @AllDayDevOps
Continuous Delivery Is Your Organization—Your Entire Organization—Caring About Release Engineering And Quality Assurance In A Way It Has Never Cared About Them Ever Before.M e
”
“
@jpaulreed @AllDayDevOps
How Would
You Get
Across?
@jpaulreed @AllDayDevOps
A Couple Possibilities
@jpaulreed @AllDayDevOps
A Couple Possibilities
@jpaulreed @AllDayDevOps
A Couple Possibilities
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
Let’s Build a Bridge!
@jpaulreed @AllDayDevOps
A Better Idea?
@jpaulreed @AllDayDevOps
P R E P P I N G F O R T H E H I K E
Crossing the Chasm
O N T H E T R A I L
C A M P F I R E S T O R I E S
@jpaulreed @AllDayDevOps
Prepping for the Hike
@jpaulreed @AllDayDevOps
The Right People
@jpaulreed @AllDayDevOps
The Right People
Developers • QA • Release Engineers • The “Business”@jpaulreed @AllDayDevOps
The Right Tools
@jpaulreed @AllDayDevOps
Continuous...
@jpaulreed @AllDayDevOps
Continuous... Integration?
@jpaulreed @AllDayDevOps
Another Survey
@jpaulreed @AllDayDevOps
Another Survey
@jpaulreed @AllDayDevOps
P R E P P I N G F O R T H E H I K E
Jez’s CI Gauntlet• Put your hands up if you do continuous integration• Put your hand down if all of the developers on your team don’t check into trunk/master at least once a day
• Put your hand down unless every check-in triggers build...
• ... followed by unit tests...• ... for the complete product• Put your hands down if broken builds are not fixed within 10 minutes
@jpaulreed @AllDayDevOps
P R E P P I N G F O R T H E H I K E
Often Forgotten in CI Land•Configuration management•Backups•Connection to source code repositories•Access control
@jpaulreed @AllDayDevOps
P R E P P I N G F O R T H E H I K E
Telling Indicators•Possible to switch continuous integration software?• “Show me your CI slaves”•NTP (my favorite!)
@jpaulreed @AllDayDevOps
What Happens When...
@jpaulreed @AllDayDevOps
Integrating Streams of Change
@jpaulreed @AllDayDevOps
On The Trail
@jpaulreed @AllDayDevOps
Getting Started
A Great Catalyst. . . To Avoid
@jpaulreed @AllDayDevOps
Rethinking Fundamentals
@jpaulreed @AllDayDevOps
Rethinking Fundamentals
@jpaulreed @AllDayDevOps
Rethinking Fundamentals
@jpaulreed @AllDayDevOps
Questions on Quality
@jpaulreed @AllDayDevOps
O N T H E T R A I L
Continuous Quality•Start with The ComponentTM
• Laser-focus on defect testing
• Integration/systems testing
•Fuzz testing
@jpaulreed @AllDayDevOps
On Silos
@jpaulreed @AllDayDevOps
On Silos
@jpaulreed @AllDayDevOps
Flow Down the Mountain
@jpaulreed @AllDayDevOps
Campfire Stories
@jpaulreed @AllDayDevOps
Continuous Delivery
= Ship Every Single
Commit@jpaulreed @AllDayDevOps
@jpaulreed @AllDayDevOps
Continuous Delivery
requires Git
@jpaulreed @AllDayDevOps
Continuous Delivery is
only for web applications
@jpaulreed @AllDayDevOps
Printers?
@jpaulreed @AllDayDevOps
Core Internet Infrastructure?
@jpaulreed @AllDayDevOps
"What's Important About Continuous Delivery: It's Not About How Fast You Can Turn The Crank, It's The Confidence With Which You Can [Turn That Crank].D a m o n E d w a rd s , E p i s o d e 1 5 , T h e S h i p S h o w
”
“
@jpaulreed @AllDayDevOps
Serious Infrastructure
@jpaulreed @AllDayDevOps
You can implement Continuous
Delivery using the same QA/RelEng
strategies as always
@jpaulreed @AllDayDevOps
@jpaulreed @AllDayDevOps
You can implement Continuous Delivery
by yourself. Or without focused
investment.@jpaulreed @AllDayDevOps
Hiking Alone is Dangerous
@jpaulreed @AllDayDevOps
You can implement Continuous Delivery without an increase
in transparency
@jpaulreed @AllDayDevOps
“My Part Is Automated!”
@jpaulreed @AllDayDevOps
“My Part Is Automated!”
@jpaulreed @AllDayDevOps
Flow = Visibility
@jpaulreed @AllDayDevOps
Hiking the Chasm
@jpaulreed @AllDayDevOps
Won’t Be Easy...
@jpaulreed @AllDayDevOps
But Worth It
@jpaulreed @AllDayDevOps
J. Paul Reed Managing Partner • Release Engineering Approaches
Thanks!@jpaulreed @AllDayDevOps
Hikes Through Other Canyons
jpaulreed.com/devops-in-practice
jpaulreed.com/continuous-delivery-skeptics
@jpaulreed @AllDayDevOps
November 15, 2016
November 15, 2016