5. Continuous delivery
▪ Reduce time to market
▪ Quickly adapt your product to market/customers needs
▪ Enable experimentation
▪ Create an awesome motivated team
6. Domenico Musto
▪ Principal Engineer at Spektrix
▪ Distributed systems
▪ REST
▪ Messaging
▪ Automation testing
▪ Continuous delivery
domenico.musto@gmail.com
@mimmozzo
9. Continuous deployment
Automatically deploy on an integration test environment the
"integrated code“.
Have a reasonable automated way of deploy software to a
production environment
11. Easily and quickly
▪ Being able to deploy in about 5 minutes in an automated fashion
12. Easily and quickly
▪ Being able to deploy in about 5 minutes in an automated fashion
▪ Being confident that the software you are deploying has passed a well defined
test suite
13. Easily and quickly
▪ Being able to deploy in about 5 minutes in an automated fashion
▪ Being confident that the software you are deploying has passed a well defined
test suite
▪ Being able to immediately collect info about the new version of the software
14. Easily and quickly
▪ Being able to deploy in about 5 minutes in an automated fashion
▪ Being confident that the software you are deploying has passed a well defined
test suite
▪ Being able to immediately collect info about the new version of the software
▪ Being able to quickly rollback to the previous version in a matter of minutes in an
automated fashion
17. Maybe you didn’t know that..
▪ Continuous delivery is not suitable for every business
18. Maybe you didn’t know that..
▪ Continuous delivery is not suitable for every business
▪ It’s a cultural change
19. Maybe you didn’t know that..
▪ Continuous delivery is not suitable for every business
▪ It’s a cultural change
▪ It takes time and it will hurt you
20. How do I get there ?
▪ Kill the monolith
▪ Enable continuous integration
▪ Enable continuous deployment
▪ Process and team structure
33. Database
▪ Database schema as source code
▪ Migration scripts are generated, not stored
▪ Database schema works with 2 versions of the software
▪ Spread breaking changes across multiple deployments
40. Process and team structure
▪ Create cross functional autonomous teams
41. Process and team structure
▪ Create cross functional autonomous teams
▪ Product authority within the team
42. Process and team structure
▪ Create cross functional autonomous teams
▪ Product authority within the team
▪ QAs embedded in the team
43. Process and team structure
▪ Create cross functional autonomous teams
▪ Product authority within the team
▪ QAs embedded in the team
▪ build quality in over testing at the end
44. Process and team structure
▪ Create cross functional autonomous teams
▪ Product authority within the team
▪ QAs embedded in the team
▪ build quality in over than testing at the end
▪ close to the code and the architecture to advise on best testing strategy
45. Process and team structure
▪ Create cross functional autonomous teams
▪ Product authority within the team
▪ QAs embedded in the team
▪ build quality in over than testing at the end
▪ close to the code and the architecture to advise on best testing strategy
▪ Simple pull request model to be approved within the team
46. Summary
▪ Enable continuous integration (step by step)
▪ Avoid feature branching
▪ Integration pipeline
▪ Artefacts
▪ Enable continuous deployment (step by step)
▪ Deploy pipeline
▪ Smart packages
▪ Infrastructure as code
▪ Adjust the process (step by step)
▪ Create autonomous teams
▪ Create a shared testing strategy
47. Continuous delivery
▪ Reduce time to market
▪ Quickly adapt your product to market/customers needs
▪ Enable experimentation
▪ Create an awesome motivated team
48. “Continuous delivery doesn't have to
mean new features in prod every
minute. It's about making releases a
non-event.”
Suzie Prince