This is a collection of known design patterns to adopt DevOps. They are based on the journey of enabling DevOps in organizations we (the contributors) are working for.
The patterns can be structured in roughly three different categories. Please click on the 📓 for a full explanation of what design patterns are on Wikipedia.
- Continuous Delivery Pipeline
- Continuous Integration
- Version control application
- Version control tests, build and deploy scripts
- Version control config, DB, dependencies
- On demand build and test environments
- Same automated process to deploy to any environment (dev, test, pro)
- Infrastructure defined with and deployed from code
- Ops, dev, test, support as integrated team
- Attached integrated teams (network, dba, security, audit, ...) enable and support
- ChatOps environment
- Anyone in integrated team has access to everything in the CD pipeline
- Anyone in integrated team can see the status of the system in production
- Integrated team measured on same objectives
- Those introducing changes are on alert when deploying
Feel free to fork this repository and extend or add your own examples and send a pull request with your changes!