Planning for IBM Business Automation Workflow on containers
The Detailed system requirements
page provides the
requirements for Business Automation Workflow on containers.
Deployment profiles
Based on your cluster requirement, you can pick a deployment profile
(sc_deployment_profile_size) and enable it during installation. Business Automation Workflow provides
small, medium, and large deployment profiles. You
can set the profile during installation, in an update, and during an upgrade.
small. Before you install, you
can change the profile to medium or large. You can scale up or
down a profile anytime after installation. The following table describes each deployment profile.
| Profile | Description | Scaling (per 8-hour day) | Minimum number of worker nodes |
|---|---|---|---|
| Small (no HA) | For environments that are used by 10 developers and 25 users. For environments that are used by a single department with a few users; useful for application development. |
|
8 |
| Medium | For environments that are used by 20 developers and 125 users. For environments that are used by a single department and by limited users. |
|
16 |
| Large | For environments that are used by 50 developers and 625 users. For environments that are shared by multiple departments and users. |
|
32 |
You can use custom resource templates to update the hardware requirements of the services that you want to install.
The following sections provide the default resources for each capability. For more information
about the minimum requirements of foundational services, see Hardware requirements and recommendations for foundational
services
.
- Small profile hardware requirements
- Medium profile hardware requirements
- Large profile hardware requirements
small, medium, and
large profiles are derived under specific operating and environment conditions. Due
to the differences in hardware, networking, and storage, the resources vary for each workload in
different environments. It is important that you run a performance test with peaked workload in a
Test or UAT environment. Monitor the resource usage (for example CPU and memory) to determine the
resource usage for each component. Based on the resource usage, make changes to CPU request, CPU
limit, memory request, and memory limit in the custom resource for each component.Ephemeral storage is storage that is tied to the lifecycle of a pod, so when a pod finishes or is restarted, that storage is deleted. It is used in any situation where your workloads need or generate transient local data, like logging. Use the /bin/df tool to monitor ephemeral storage usage on the volume where ephemeral container data is located. You can manage local ephemeral storage by setting quotas that define the limit ranges and the number of requests.
Small profile hardware requirements
- Table 2 Operator default requirements for a small profile
- Table 3 Foundation default requirements for a small profile
- Table 4 Business Automation Workflow default requirements for a small profile
- Table 5 Content Cortex default requirements for a small profile
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|
| ibm-cp4ba-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-content-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-pfs-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-workflow-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-opensearch-operator | 500 | 2000 | 820 | 2048 | 5120 (6144 for HA) | 3 | No |
CPU Request and CPU Limit values are measured in units of millicore (m).
Memory Request and Memory Limit values are measured in units of mebibyte (Mi).
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) |
|---|---|---|---|---|---|---|---|---|
| Navigator | 1000 | 1000 | 3072 | 3072 | 1 | No | ||
| Navigator Watcher | 250 | 500 | 256 | 512 | 1 | No | ||
| BAStudio | 1100 | 2000 | 1752 | 3072 | 1 | No | 1024 | 2048 |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| Workflow Server | 500 | 2000 | 2048 | 3060 | 1 | Yes |
| Workflow Authoring | 500 | 2000 | 2048 | 3072 | 1 | No |
- For components that are included in your Business Automation Workflow instance from Content Cortex, see Table 5.
- Business Automation Workflow
also creates some jobs that request 200m CPU and 128Mi Memory:
- basimport-job is created only with Business Automation Studio.
- case-init-job
- db-init-job
- content-init-job
- ltpa-job
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| CPE | 1000 | 1000 | 3072 | 3072 | 1 | Yes |
| CSS | 1000 | 1000 | 4096 | 4096 | 1 | Yes |
| CMIS | 500 | 1000 | 1536 | 1536 | 1 | No |
| GraphQL | 500 | 1000 | 1536 | 1536 | 1 | No |
| Task Manager | 500 | 1000 | 1536 | 1536 | 1 | No |
In high-volume indexing scenarios, where ingested docs are full-text indexed, the CSS utilization can exceed the CPE utilization. Sometimes, this might be 3 - 5 times larger.
For optional processing such as thumbnail generation or text filtering, at least 1 GB of native memory is required by the CPE for each. If both types of processing are expected, add at least 2 GB to the memory requests/limits for the CPE.
With the processing of content, resources required increase with the complexity and size of the content. Increase both memory and CPU for the CPE and CSS services to reflect the type and size of documents in your system. Resource requirements might also increase over time as the amount of data in the system grows.
If the sc_deployment_fncm_license parameter is set to
concurrent-user or authorized-user, the CPE License Service Collector and License Service Reporter are installed to send user metrics to IBM License Service. The License Service Reporter is similar to a Cron job in that it runs only once a day.
| Component | Ephemeral Storage Request default value | Ephemeral Storage Limit Default value |
|---|---|---|
| Content Platform Engine | 4 Gi | 4 Gi |
| Content Search Services | 500 Mi | 1.5 Gi |
| Content Management Interoperability Services | 1 Gi | 1 Gi |
| GraphQL | 1 Gi | 1 Gi |
| Task Manager | 1 Gi | 1 Gi |
| External Share | 1 Gi | 1 Gi |
| Content Navigator | 1 Gi | 3 Gi |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Collector (lscollector) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Reporter (lsreporter) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
Medium profile hardware requirements
- Table 9 Operator default requirements for a medium profile
- Table 10 Foundation default requirements for a medium profile
- Table 11 Business Automation Workflow default requirements for a medium profile
- Table 12 Content Cortex default requirements for a medium profile
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|
| ibm-cp4a-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-content-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-pfs-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-workflow-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-opensearch-operator | 500 | 2000 | 3512 | 5120 | 5120 (6144 for HA) | 3 | No |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) |
|---|---|---|---|---|---|---|---|---|
| Navigator | 2000 | 3000 | 4096 | 4096 | 2 | No | ||
| Navigator Watcher | 250 | 500 | 256 | 512 | 1 | No | ||
| BAStudio | 1000 | 2000 | 1752 | 3072 | 2 | No | 1024 | 2048 |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| Workflow Server | 500 | 2000 | 2560 | 3512 | 2 | Yes |
| Workflow Authoring | 500 | 4000 | 1024 | 3072 | 1 | No |
- For components that are included in your Business Automation Workflow instance from Content Cortex, see Table 12.
- Business Automation Workflow
also creates some jobs that request 200m CPU and 128Mi Memory:
- basimport-job is created only with Business Automation Studio.
- case-init-job
- db-init-job
- content-init-job
- ltpa-job
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| CPE | 1500 | 2000 | 3072 | 3072 | 2 | Yes |
| CSS | 1000 | 2000 | 8192 | 8192 | 2 | Yes |
| CMIS | 500 | 1000 | 1536 | 1536 | 2 | No |
| GraphQL | 500 | 2000 | 3072 | 3072 | 3 | No |
| Task Manager | 500 | 1000 | 1536 | 1536 | 2 | No |
In high-volume indexing scenarios, where ingested docs are full-text indexed, the CSS utilization can exceed the CPE utilization. In some cases, this might be 3 - 5 times larger.
For optional processing such as thumbnail generation or text filtering, at least 1 GB of native memory is required by the CPE for each. If both types of processing are expected, add at least 2 GB to the memory requests/limits for the Content Platform Engine (CPE).
With the processing of content, resource requirements increase with the complexity and size of the content. Increase both memory and CPU for the CPE and CSS services to reflect the type and size of documents in your system. Resource requirements might also increase over time as the amount of data in the system grows.
If the sc_deployment_fncm_license parameter is set to
concurrent-user or authorized-user, the CPE License Service Collector and License Service Reporter are installed to send user metrics to IBM License Service. The License Service Reporter is similar to a Cron job in that it runs only once a day.
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Collector (lscollector) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Reporter (lsreporter) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
Large profile hardware requirements
- Table 15 Operator default requirements for a large profile
- Table 16 Foundation default requirements for a large profile
- Table 17 Business Automation Workflow default requirements for a large profile
- Table 18 Content Cortex default requirements for a large profile
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral storage Limit | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|
| ibm-cp4a-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-content-operator | 500 | 1000 | 256 | 2048 | NA | 1 | No |
| ibm-pfs-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-workflow-operator | 100 | 500 | 20 | 1024 | NA | 1 | No |
| ibm-opensearch-operator | 1000 | 2000 | 3512 | 5128 | 5120 (6144 for HA) | 3 | No |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) |
|---|---|---|---|---|---|---|---|---|
| Navigator | 2000 | 4000 | 6144 | 6144 | 4 | No | ||
| Navigator Watcher | 250 | 500 | 256 | 512 | 1 | No | ||
| BAStudio | 2000 | 4000 | 1752 | 3072 | 2 | No | 1024 | 2048 |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| Workflow Server | 1000 | 2000 | 3060 | 4000 | 4 | Yes |
| Workflow Authoring | 1000 | 2000 | 2000 | 3000 | 2 | No |
- For components that are included in your Business Automation Workflow instance from Content Cortex, see Table 18.
- Business Automation Workflow
also creates some jobs that request 200m CPU and 128Mi Memory:
- basimport-job is created only with Business Automation Studio.
- case-init-job
- db-init-job
- content-init-job
- ltpa-job
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|
| CPE | 3000 | 4000 | 8192 | 8192 | 2 | Yes |
| CSS | 2000 | 4000 | 8192 | 8192 | 2 | Yes |
| CMIS | 500 | 1000 | 1536 | 1536 | 2 | No |
| GraphQL | 1000 | 2000 | 3072 | 3072 | 4 | No |
| Task Manager | 500 | 1000 | 1536 | 1536 | 2 | No |
In high-volume indexing scenarios, where ingested docs are full-text indexed, the CSS utilization can exceed the CPE utilization. In some cases, this might be 3 - 5 times larger.
For optional processing such as thumbnail generation or text filtering, at least 1 GB of native memory is required by the CPE for each. If both types of processing are expected, add at least 2 GB to the memory requests/limits for the CPE.
With the processing of content, resources required increase with the complexity and size of the content. Increase both memory and CPU for the CPE and CSS services to reflect the type and size of documents in your system. Resource requirements might also increase over time as the amount of data in the system grows.
If the sc_deployment_fncm_license parameter is set to
concurrent-user or authorized-user, the CPE License Service Collector and License Service Reporter are installed to send user metrics to IBM License Service. The License Service Reporter is similar to a Cron job in that it runs only once a day.
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Collector (lscollector) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
| Component | CPU Request (m) | CPU Limit (m) | Memory Request (Mi) | Memory Limit (Mi) | Ephemeral Storage Request (Mi) | Ephemeral Storage Limit (Mi) | Number of replicas | Pods are licensed for production/non-production |
|---|---|---|---|---|---|---|---|---|
| License Service Reporter (lsreporter) | 500 | 1000 | 512 | 1536 | 1024 | 1024 | 1 | No |
Storage considerations
See Storage considerations
.
Security considerations
See Security considerations
.
Logging considerations
By default, logging is enabled in your cluster and the logs are stored in a dedicated persistent
data store. You can also collect and forward the standard output stdout logs from
the containers to help you troubleshoot issues and improve their health and performance. See Logging considerations
.
Image tags or digests
For a production installation, choose between image tags or digests. To make sure that a
container always uses the same version of an image, you can specify its digest instead of an image
tag. The digest identifies a specific version of the image, so it is never updated by Kubernetes.
See Choosing image tags or digests
.