Continuous Delivery - The
Missing Parts
Paul Stack
http://twitter.com/stack72
mail: [email protected]
Slide 2
Slide 2 text
About Me
Infrastructure Engineer for a cool startup :)
Reformed ASP.NET / C# Developer
DevOps Extremist
Conference Junkie
Slide 3
Slide 3 text
Background to this talk
Slide 4
Slide 4 text
Continuous Delivery
…. is a set of practices and
principles aimed at, building,
testing and releasing software
faster and more frequently.
Slide 5
Slide 5 text
8 principles of Continuous
Delivery
The process for releasing/deploying software MUST be repeatable
and reliable.
Automate everything!
If somethings difficult or painful, do it more often.
Keep everything in source control
Done means “released”
Build quality in!
Everybody has responsibility for the release process
Improve continuously
Slide 6
Slide 6 text
4 Practices of Continuous
Delivery
Build binaries only once
Use precisely the same mechanism to deploy to every
environment
Smoke test your deployment
If anything fails, stop the line!
Slide 7
Slide 7 text
Has anyone read this book?
Slide 8
Slide 8 text
So continuous delivery is
now 5 years old?
Slide 9
Slide 9 text
Agile Manifesto
“Our highest priority is to satisfy the
customer through early and
continuous delivery of valuable
software"
Slide 10
Slide 10 text
Common Misconceptions
Slide 11
Slide 11 text
1. Continuous Delivery is
something only startups can
achieve
Slide 12
Slide 12 text
2. Continuous Delivery only
works for NodeJS / Ruby /
Go developers
Slide 13
Slide 13 text
3. We can hire a consultant
to help us implement
‘Continuous Delivery’
Slide 14
Slide 14 text
4. A good tool will help us
implement continuous
delivery
Slide 15
Slide 15 text
5. Continuous delivery is as
simple as hooking github to
our Azure account…..
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
“Until your pretty code is in
production, making money, or doing
whatever it does, you’ve just wasted
your time”
Chris Read
@cread
#LondonCI
Slide 18
Slide 18 text
But haven’t I just
contradicted myself?
Slide 19
Slide 19 text
The traditional technical side
of a company
Developers
QA
SysAdmins
Network
Helpdesk
InfoSec
+ lots more
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
Aren’t we supposed to be
one team?
Slide 22
Slide 22 text
“How long would it take your
organisation to deploy a change that
involved just one single line of code?
Do you do this on a repeatable, reliable
basis?”
Implementing Lean Software Development
Mary Poppendieck
Slide 23
Slide 23 text
Value Stream Map
Slide 24
Slide 24 text
The Value Stream Map for
Ops is worse….
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
The rise of DevOps…..
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
October 30 - 31, 2009
Ghent, Belgium
Developers + System Administrators
for 2 days
= DevOpsDays
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
How does DevOps help
with this type of thing?
Slide 35
Slide 35 text
‘The 3 ways’
• Systems thinking
• Amplify Feedback loops
• Culture of Continual
Experimentation and learning
The Benefits of Continuous
Delivery
• High Performing IT Teams are more
Agile!
• High Performing IT Teams can recover
faster!
• High Performing IT Teams can
experiment more!
Slide 70
Slide 70 text
Continuous Delivery means
better products for your
customers!*
* Customers can be internal or external