# Cluster Overview
Available in PagerDuty Process Automation Commercial products.
# Process Automation Architecture
The Process Automation environment needs the following shared resources:
All the cluster instances must share the same DB:
See: Database Backends.
The keys and project data must be stored in the DB (enabled by default since 2.4.x):
See: Storage Facility
# Load Balancer
A load balancer allows you to achieve high availability in your Process Automation installation by routing http traffic across several redundant Process Automation instances.
grails.serverURLparameter of all cluster members (
rundeck-config.properties) with the LB URL.
Use Sticky session
# Log Storage
All Cluster instances must share the same storage location for execution logs.
Note: If you use the S3 Log Storage Plugin Be sure to use
com.rundeck.rundeckpro.amazon-s3 in place of
org.rundeck.amazon-s3. It adds the additional feature:
- Checkpoint log storage: This enables viewing the execution logs while the execution is running.
The cluster environment needs a common authentication method. All the instances must have access to the same list of users/groups
See: Authenticating Users
# Resource Model
Projects need a common resource model that can be accessed from all cluster members. These are some of the alternatives to achieve this:
- A shared file system
- A script
- A REST endpoint
See: Node Model Sources
Scheduled jobs are owned by the last cluster member who modified them. Jobs can also be controlled using Cluster Manager. If a cluster member goes down, all scheduled jobs on that cluster member must be moved to another cluster node. This process can be performed automatically using the heartbeat and Autotakeover features in Process Automation version 2.1.0 and later releases.
# Cluster Remote Execution Policy
This feature allows Process Automation cluster members to forward job executions to other cluster members based on a policy configuration.
See: Remote Job Execution
# Process Automation Replication
This plugin is used for an active/passive configuration. Each cluster member can have its own database.