Conductor Documentation

General Sizing Guidelines

Review the following prerequisites and make sure that your environment is ready to support the Studio Conductor.

Sizing Guidelines

Defining the exact sizing of a Conductor Manager is tricky because there are many variants in the equation. That said, here are some guidelines and insights to how such sizing can be determined.

Tenants

Up to 1000 tenants may be defined in a Conductor Manager/cluster.

Users

There is virtually no limit to the number of users defined in the system. The max number of concurrent users interacting with the manager is 200 (based on the recommended spec above.

Blueprints

There is no limit on the number of blueprints other than their size. Blueprints are stored in on the manager hard drive and in the database and are relatively small entities. A very large blueprint may consume 1M of disk space and similar size in the DB. most will require much less than that. Conductor recommends allocating 50GB of storage to the manager which should suffice for most customers.

Plugins

There is no limit on the number of plugins other than their size. Plugins are stored in the manager hard drive. A typical plugin consumes approximately 5M. Very large plugins consume 20M of storage.

Deployments

A single Conductor Manager/manager cluster can maintain up to 500K deployed nodes.

Deployments are very light and consume very little space in the DB/hard drive. A typical deployment size would be up to 10K of disk size and consume very few entries in the DB.

Workflows

A Conductor Manager/cluster can operate up to 100 concurrent workflows. This threshold is enforced by the system. Note: This threshold may be modified in the configuration, however, Studio Conductor recommends keeping the default.

Secrets

There is virtually no limit to the number of secrets.

Agents

Up to 2000 agents may be deployed per single Conductor Manager/manager cluster.

UI/CLI/API requests per second

The REST API performance varies depending on multiple factors, but as a guideline, you should expect the Conductor Manager to support up to 10 requests per second with the above-recommended spec.

Events

The system can run and track up to 100 events per second with the above-recommended spec.

Logs, events and metrics

You must have enough storage to store the logs, events and metrics sent from the hosts. You can configure log rotation to reduce the amount of storage space required.

Architecture and OS

Conductor Manager is supported for installation on a 64-bit host with CentOS 7.9, RHEL 7.9 and RHEL 8.6. Conductor Manager is supported for installation on a CentOS 7.9, RHEL 7.9 and RHEL 8.6.

Network

Network Interfaces

The Conductor Manager requires at least 2 network interfaces with configured IP addresses:

Connectivity requirements These are the minimal requirements for production systems.

Network Ports The Conductor Manager listens on the following ports:

Port Description
80 REST API and UI. This port must be accessible when SSL is not enabled.
443 REST API and UI. This port must be accessible when SSL is enabled.
22 For remote access to the manager from the Conductor CLI. (Optional)
5671 RabbitMQ. This port must be accessible from agent VMs.
8009 Monitoring service port.
53333 Internal REST communications. This port must be accessible from agent VMs.

Additionally, when Studio Conductor is deployed in a cluster topology, the following ports should be allowed:

Database nodes access to each other:

Port Description
2379 Etcd client-server for patroni cluster state.
2380 Etcd server-server for patroni cluster state.
5432 PostgreSQL replication.
8008 Patroni api for retrieving cluster state.

Manager access to database servers:

Port Description
5432 Database access.
8008 Patroni, for determining DB node state.
8009 Monitoring service port.

Messaging queue (RabbitMQ) nodes access to each other:

Port Description
4369 epmd for discovery operations.
25671 Server-server rabbit communication.

Manager access to messaging queue servers:

Port Description
4369 epmd for discovery operations.
5671 Brokers access.
15671 Accessing the management plugin for user management.
8009 Monitoring service port.

Manager to manager access:

Port Description
22000 Syncthing for file replication.
8009 Monitoring service port.

All ports are TCP unless noted otherwise.

Reverse DNS lookup

Reverse DNS lookup must be available for the RabbitMQ nodes.

Prerequisite Packages

Software requirements

These are specific packages that are commonly included in RHEL/CentOS. You must have these packages installed before you install the Conductor Manager:

Package Description Conductor Manager PostgreSQL Database RabbitMQ Server
sudo Passwordless sudo is required to run commands with root privileges (note that this is still a requirement even when running with root user) V V
systemd Create Studio Conductor Services V V V
yum Install Studio Conductor’s required packages V V V
openssl-1.0.2k Generate internal/external certificates V
openssh-server Creating SSH keys during the sanity check V
logrotate Rotating Studio Conductor log files V V V
initscripts Required by RabbitMQ V
sed Required by the CLI V
tar Untar packages V
python-setuptools Required by Python V V V
python-backports Required by Python V V V
python-backports-ssl_match_hostname Required by Python V V V
policycoreutils-python Required if SELinux is enforcing V V V

Interoperability

The Conductor manager is a complete application. As such, it contains several installed dependencies such as PostgreSQL, NGINX, RabbitMQ, and others. It is required that you install Conductor manager on a standalone VM or container and do not co-locate any other applications on that machine or container (beyond possible monitoring or logging software). You must install the Conductor manager as described in the installation instructions in this guide.

Supported Resolution

Minimal supported resolution of screen width is 1280px

Supported Browsers

The browsers which Conductor Manager and Conductor Composer supports are: Chrome, Edge, Firefox and Safari