Overview of the Octopus Automation Platform Architecture and Core Modules
The article introduces Octopus, the core automation service of 58 Group, detailing its overall architecture, the Octopus Agent lifecycle, communication mechanisms, management center capabilities, and key functional modules such as server information collection, command execution, deployment, permission control, and file transfer.
Octopus is a core automation service of the 58 Group that provides a foundation for higher‑level business operation automation, evolving since 2013 from simple deployment to comprehensive server management capabilities including Nginx configuration, permission control, remote command execution, and file transfer.
The system’s architecture consists of a central management console that obtains basic data from a CMDB, and an Octopus Agent deployed on each server, which is bound to the CMDB delivery process to ensure every server can be managed through Octopus.
The Agent startup performs several initialization steps: environment checks to verify compliance with CMDB standards, business‑environment initialization based on templates, dynamic module loading according to server type and business scenario, self‑upgrade via push notifications, and self‑monitoring that reports status and resource usage back to the management console.
Communication between the upper‑level operation system and servers is mediated by the Octopus API and the Agent, with Zookeeper serving as the registration center. Because Zookeeper’s watch mechanism is one‑time, a distributed queue was introduced to reliably handle high‑concurrency tasks and preserve task order.
The Octopus Management Center exposes all external capabilities through APIs and includes modules for API handling, authorization management (whitelists and tokens), Agent management (status, resource usage, remote restart/upgrade/offline), plugin management (upload, strategy‑based distribution, hot‑swap), configuration management (dynamic updates), and statistics management (coverage, alive rate, version distribution).
The modular Octopus Agent comprises several functional components: a server‑information collection module that syncs hardware and OS data to the CMDB, a command execution module supporting Shell, Python, and Jar scripts with user selection, deployment modules for services such as FTP, Tomcat, Nginx, and SCF, a permission module for real‑time server‑access control, a file/directory monitoring module, and a peer‑to‑peer file transfer module with synchronous/asynchronous modes, size‑based MD5 verification, bidirectional rate limiting, and an HTTP server pool for high‑frequency transfers.
Overall, Octopus runs on tens of thousands of nodes, providing a reliable foundation for automated operations, and will continue to be optimized and expanded with community involvement.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
58 Tech
Official tech channel of 58, a platform for tech innovation, sharing, and communication.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
