Continuous Delivery
Rainer Stropek | software architects | @rstropek
Introduction
Why?
-
Automation means less toil
- Invest development resources in adding value for customers
-
Automation means repeatability
- Aim for consistently high quality, not an occasional exceptional one
- Deploy irrespectively of certain people being involved
-
Automation means documentation
- Deployment automation scripts are our documentation
- Never out of date
- Add conceptual docs for the big picture and you are done
-
Automation means traceability
- Why is what deployed where?
Why Not?
Why Not?
-
Technical limitations make automation super hard
- Try to combine automated steps with manual ones
-
Limiting policies
- Manual steps are required e.g. by law
- Consider automated processes/steps with manual gates
-
One-time effort
- E.g. demo, prototype, feasibility study, etc.
- E.g. demo, prototype, feasibility study, etc.
-
BUT: No project is too small for CD
- If you have to deploy multiple times, automate it
⛅ Rulez!
No, not this cloud 😅!
Benefit From ⛅ Services
-
No-Ops CI/CD servers are commodity
- Available for free, or at least for very little money
- Standardized, well documented, well understood
- Examples: GitHub Actions, Azure DevOps Pipelines
-
Enhance Security
- CI/CD servers are very much security-relevant
- Protect them, make them immutable
-
Use hybrid solutions if ⛅ is not an option
- E.g. Azure DevOps on-premise build agents
Demos
Important Considerations
-
CI/CD Tool vs. Docker-based solution
- Example: Azure Container Registry (ACR)
- Trigger builds based on the availability of security patches
-
Integration of Infrastructure-as-Code (IaC)
- Our goal: Treat IaC just like any other code artifact, therefore CD
-
CD without human intervention needs prerequisites
- Serious test automation
- Separate deployment from releasing to end-users
- Canary releases with solid test-in-production strategy (monitoring!)
- Well thought-through concept for integrating CD with Git branching
Q&A
Rainer Stropek | software architects | @rstropek
Continuous Delivery
By Rainer Stropek
Continuous Delivery
- 476