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
Overview of Stack Components
Orchestrated Release
Non-techincal Release View