Full Stack Release using Ansible

This approach extends the Autonomous Development, Authoritative Release principle, to orchestrate a full stack release, i.e. the automated coordination of Configuration Management and Application deployment.

This implementation does not include infrastructure, i.e. the creation of the host and related networking is not included in the automation. This scenario could be a bare-metal host which cannot be automated.

The Application Stack is a combination of simple contained solutions. The configuration of the host and deployment of the application are defined once, and deployed many times, e.g. test and production.

graph TD subgraph dc["Data Center"] subgraph vm1["Test Host"] vm1-ingress["Apache"] subgraph tc1["Tomcat"] vm1-con-a["Spring"] end subgraph vm1-pod-2["Podman"] vm1-con-b["container"] vm1-con-c["container"] end end subgraph vm2["Production Host"] vm2-ingress["Apache"] subgraph tc2["Tomcat"] vm2-con-a["Spring"] end subgraph vm2-pod-2["Podman"] vm2-con-b["container"] vm2-con-c["container"] end end end client --> vm1-ingress --> vm1-con-a vm1-ingress --> vm1-con-b vm1-ingress --> vm1-con-c client --> vm2-ingress --> vm2-con-a vm2-ingress --> vm2-con-b vm2-ingress --> vm2-con-c classDef external fill:lightblue class client external classDef dashed stroke-dasharray: 5, 5 class vm1,vm2,vm3,vm4 dashed classDef dotted stroke-dasharray: 2, 2 class vm1-pod-1,vm1-pod-2,vm2-pod-1,vm2-pod-2,vm3-pod-1,vm3-pod-2,vm4-pod-1,vm4-pod-2 dotted

Implementation Details Coming soon …