Release Orchestration using Octopus Deploy

Octopus Deploy is a dedicated release orchestration tool which does not have build capabilities and does not natively integrate with source control, instead it provides a repository to which build artefacts can be pushed. The following scenario is a stack which comprises a customer-facing application (React) front-end and Platform-as-a-Service (Mulesoft Anypoint) back-end.

The back-end deployment is itself an authoritative release solution with a source-driven manifest (this will be documented along with other authoritative release mechanisms shortly). The client will retrieve the static content from the content delivery network (CloudFlare).

graph TD subgraph cf["CloudFlare"] subgraph cf1["Test"] react-a["Static Content"] end subgraph cf2["Production"] react-b["Static Content"] end end client --> react-a client --> react-b classDef external fill:lightblue class client external classDef dashed stroke-dasharray: 5, 5 class cf1,cf2 dashed

The client application then calls the API back-end.

graph TD subgraph dc["Mulesoft Anypoint Plaform"] subgraph vm1["Test"] vm1-in-a["API Managment"] vm1-con-a["Application Runtime"] vm1-in-b["API Managment"] vm1-con-b["Application Runtime"] end subgraph vm2["Production"] vm2-in-a["API Managment"] vm2-con-a["Application Runtime"] vm2-in-b["API Managment"] vm2-con-b["Application Runtime"] end end client --> vm1-in-a --> vm1-con-a client --> vm1-in-b --> vm1-con-b client --> vm2-in-a --> vm2-con-a client --> vm2-in-b --> vm2-con-b classDef external fill:lightblue class client external classDef dashed stroke-dasharray: 5, 5 class vm1,vm2,cf1,cf2 dashed