Octopus Cloud architecture
Blog post from Octopus Deploy
Octopus Cloud, a reliable hosting service for Octopus Deploy customers, is architected as a distributed system designed to withstand partial infrastructure outages through a cell-based architecture. This approach involves using isolated cells that can be independently managed, scaled, or decommissioned without affecting the wider system, enhancing both scalability and reliability. The system is deployed across multiple Azure regions, each acting as an independent cell, ensuring that outages in one region don't impact others. Within these regions, resources are further divided into "reefs," which are collections of Azure resources shared by several Cloud instances, maintaining isolation to prevent cascading failures. Each Octopus Cloud instance, which is a monolithic .NET application, requires specific resources such as SQL Server databases, shared file systems, and computing resources, all provided through Azure's infrastructure. This cell-based architecture supports gradual rollouts by allowing updates to be implemented in stages, reducing the risk of widespread outages, while scalability is achieved by adding new reefs and assigning resource limits to each Cloud instance. The system prioritizes availability over consistency at the infrastructure level and emphasizes using official APIs for integration, enhancing developer productivity by enabling isolated testing environments. Despite the complexity and effort required to implement such an architecture, it provides significant advantages in terms of reliability and scalability, although it relies on shared components like DNS to connect the independent parts.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Developer Experience | 1 | 253 | 143 | 78 | -16% |
| Kubernetes | 1 | 1,245 | 176 | 79 | -2% |
| Observability | 1 | 1,577 | 298 | 93 | +19% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.