Today, we pay close attention to scaling our systems by testing for chaos and reducing MTTR in production. However, our delivery pipelines don’t get nearly as much love. This talk presents tried and tested patterns for increasing an accelerated delivery of changes in a safe manner. We’ll also try to solve the mystery of sustainable Continuous Delivery.
Everyone wants to go faster but also safer. As a result, we’re cramming more and more activities in the pipeline, from security controls and database changes to compliance approvals and even networking. How can we do this AND still move fast AND avoid burning out teams with all this cognitive load?
Key takeaways:
- learn patterns to ensure the reliability of your pipelines and make application changes safer
- learn smart patterns to accelerate delivery, such as continuous pruning and short path to prod
- understand how to sustain your CI/CD adoption growth with key practices like immutable delivery system
2. About me
Manuel Pais
MS Software Eng
@manupaisable
me@manuelpais.net
http://manuelpais.net
DevOps Consultant & Trainer
Co-author of “Team Topologies”
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
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
60. 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
61. 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
63. About me
Manuel Pais
MS Software Eng
@manupaisable
me@manuelpais.net
http://manuelpais.net
DevOps Consultant
Co-author of “Team Topologies”
Focused on teams and flow
65@manupaisable | manuelpais.net