Today we pay close attention to scaling our systems, testing for chaos and reducing MTTR in production. Yet our delivery pipelines don't get nearly as much love. This talk presents tried and tested patterns for increasing reliability, accelerating changes and minimizing MTTR in our delivery systems.
2. About me
Manuel Pais
MS Software Eng
@manupaisable
manuelpais.net
me@manuelpais.net
DevOps and Delivery Consultant
Focused on teams and flow
2@manupaisable | manuelpais.net
3. @manupaisable | manuelpais.net 3
Today
1. Intro to boring releases
2. Patterns for safer releases
3. Patterns for faster releases
4. Patterns for sustainable delivery
4. @manupaisable | manuelpais.net 4
Today
1. Intro to boring releases
2. Patterns for safer releases
3. Patterns for faster releases
4. Patterns for sustainable delivery
9. @manupaisable | manuelpais.net 9
Today
1. Intro to boring releases
2. Patterns for safer releases
3. Patterns for faster releases
4. Patterns for sustainable delivery
10. “ability to get changes of all types,
into production, or into the hands of
users, safely and quickly in a
sustainable way”
–Dave Farley & Jez Humble
continuousdelivery.com
@manupaisable | manuelpais.net 10
11. “ability to get changes of all types,
into production, or into the hands of
users, safely and quickly in a
sustainable way”
–Dave Farley & Jez Humble
continuousdelivery.com
@manupaisable | manuelpais.net 11
23. Flow efficiency =
“teams who aren’t paying attention to this concept generally
have flow efficiencies around the 15% mark - that means that
work normally spends 85% of its lifecycle waiting on something.”
http://leankanban.com/flow-efficiency-a-great-metric-you-probably-arent-using
@manupaisable | manuelpais.net 23
24. issue is not how long it takes to do
something, it's how long we're
waiting for it to get done
@manupaisable | manuelpais.net 24
27. Patterns for safer releases
1. Map your value stream to the pipeline
2. Measure key metrics on speed,
quality & operability
3. Put in the groundwork !!!
27@manupaisable | manuelpais.net
28. Automated build in clean environment
Ephemeral prod-like test environment
Health checks and fast smoke tests
Automated acceptance tests (BDD)
Everything as code (one truth)
Single path to production
28@manupaisable | manuelpais.net
30. Patterns for safer releases
1. Map value stream in the pipeline
2. Measure key metrics
3. Put in the groundwork !!!
30@manupaisable | manuelpais.net
31. @manupaisable | manuelpais.net 31
Today
1. Intro to boring releases
2. Patterns for safer releases
3. Patterns for faster releases
4. Patterns for sustainable delivery
32. “ability to get changes of all types,
into production, or into the hands of
users, safely and quickly in a
sustainable way”
–Dave Farley & Jez Humble
continuousdelivery.com
@manupaisable | manuelpais.net 32
35. @manupaisable | manuelpais.net 35
can’t auto-
scale people
How to cope with
ever increasing
cognitive load on
teams to build and
run applications?
36. Patterns for faster releases
1. Design intelligent pipelines
2. Evolve teams and interactions
3. Set up a self-service platform
36@manupaisable | manuelpais.net
43. Patterns for faster releases
1. Design intelligent pipelines
2. Evolve teams and interactions
3. Set up a self-service platform
43@manupaisable | manuelpais.net
44. Patterns for faster releases
1. Identify & remove bottlenecks
2. Shorten path to production
3. Continuous pruning
44@manupaisable | manuelpais.net
48. Patterns for faster releases
1. Identify & remove bottlenecks
2. Shorten path to production
3. Continuous pruning & fast feedback
48@manupaisable | manuelpais.net
49. 49
“There are just two moments when
an automated test provides useful
information: the first time it passes
and when it subsequently fails.”
@manupaisable | manuelpais.net
Continuous pruning
53. Patterns for faster releases
1. Identify & remove bottlenecks
2. Shorten path to production
3. Continuous pruning & fast feedback
55@manupaisable | manuelpais.net
54. @manupaisable | manuelpais.net 56
Today
1. Intro to boring releases
2. Patterns for safer releases
3. Patterns for faster releases
4. Patterns for sustainable delivery
55. “ability to get changes of all types,
into production, or into the hands of
users, safely and quickly in a
sustainable way”
–Dave Farley & Jez Humble
continuousdelivery.com
@manupaisable | manuelpais.net 57
59. System Operability
Available (no downtime)
Scalable (no pipelines waiting to run)
Monitored (alerts on resources and errors)
Recoverable (focus on diagnosis & MTTR)
@manupaisable | manuelpais.net 62
60. Patterns for sustainability
1. Treat your pipeline as a product
2. Treat your pipeline as a product
3. Treat your pipeline as a product
63@manupaisable | manuelpais.net