General Sizing Guidelines
Review the following prerequisites and make sure that your environment is ready to support the Studio Conductor.
For guidelines related to specific deloyments, see:
- Installing an All-In-One (AIO)
- Installing a Three Nodes Cluster
- Installing a Fully Distributed Cluster
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:
- Private - This interface is dedicated for communication with other Studio Conductor components, including agents and cluster members.
- Public - This interface is dedicated for connections to the Conductor Manager via the Conductor CLI and Conductor Management Console.
Connectivity requirements These are the minimal requirements for production systems. * Internal communication - between Studio Conductor management cluster entities - at least 1Gbps connection with a latency of 1msec or less. * Conductor Agent to manager communication - at least 100Mbps connection with a latency of 50ms or less.
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 Cloudify Manager and Cloudify Composer supports are: Chrome, Edge, Firefox and Safari