Architecture

2 minute read

This section contains architecture diagrams for different configurations of CloudBees CD/RO and CloudBees Analytics. CloudBees CD/RO has a secure, scalable, and robust architecture that supports enterprise-scale software delivery and release orchestration.

Local configuration

The following diagram shows a non-clustered CloudBees CD/RO architecture configuration at a single site. Use a CloudBees CD/RO clustered deployment for horizontal scalability and high availability. You can use a non-clustered deployment when high availability is not required.

Local deployment
Figure 1. Local deployment

It is acceptable for the CloudBees CD/RO server, web server, and repository server to reside on the same machine in a local configuration.

In the local configuration:

  • The CloudBees CD/RO server manages resources, issues commands, generates reports.

  • An underlying database stores commands and metadata.

  • Agents execute commands, monitor status, and collect results, in parallel across a cluster of servers for rapid throughput.

Remote database configuration

For a production environment, CloudBees recommends that you install the database on a separate machine from the CloudBees CD/RO server to prevent performance issues. It is acceptable for the CloudBees CD/RO server, web server, and repository server to reside on the same machine in a local configuration, but not required. If you are only evaluating CloudBees CD/RO, CloudBees CD/RO, the database, the CloudBees CD/RO server, the web server, and the repository server can reside on the same machine.

Remote CloudBees Analytics server configuration

For a production environment, CloudBees recommends that you install the CloudBees Analytics server on a system other than systems running other CloudBees CD/RO components (such as the CloudBees CD/RO server, web server, repository server, or agent). If you must install it on the same system (such as for testing or other non-production or trial-basis situations only), refer to Running on a system with CloudBees CD/RO components for instructions.

Clustered configuration

The following diagram shows a CloudBees CD/RO clustered configuration.

Clustered configuration
Figure 2. Clustered configuration

You can also add horizontal scalability and high availability to your CloudBees CD/RO environment by adding additional machines to create a clustered CloudBees CD/RO configuration.

A clustered CloudBees CD/RO configuration has the following benefits:

  • Add fault tolerance by re-routing jobs to running CloudBees CD/RO servers.

  • Increase the supported number of simultaneous jobs and corresponding API requests.

  • Expand capacity over time by adding additional CloudBees CD/RO servers.

  • Distribute API requests across multiple CloudBees CD/RO servers.

  • Distribute CloudBees CD/RO requests across multiple web servers.

Refer to Horizontal scalability for additional details and clustered configuration set up procedures.

Required additional software components for clustered machines

A clustered CloudBees CD/RO configuration requires two additional software components:

  • A centralized service for maintaining and synchronizing group services in the cluster.

  • A load balancer for routing work to machines in the cluster.

CloudBees recommends that all server machines in a clustered server configuration be able to access a common plugins directory. This avoids the overhead of managing multiple plugins directories. For details, refer to Configuring Universal Access for a Network Location.

Refer to Clustering for additional details and clustered configuration set up procedures.

Shared file system requirement for plugins

CloudBees recommends that all server machines, CloudBees CD/RO servers and web servers, in a clustered server configuration be able to access a common plugins directory. This avoids the overhead of managing multiple plugin directories. For details, refer to Universal Access to the plugins directory.