Skip to content

Requirements

Database Servers

For database servers in a standard production deployment, the recommended specifications are:

  • CPU: 4 cores
  • RAM: 8 GB
  • Storage: SSD-based for optimal I/O performance

Since most database operations are I/O-bound, the storage should provide an appropriate level of performance to handle read/write operations efficiently.

The recommended disk space is 300 GB to hold the DB data.

Estimating the exact dimensioning is challenging, as it primarily depends on the volume of requests generated by various IT systems (M2M) or end-users interacting with the Core. Below are reference sizing details for the largest tables:

  • requests: One record per incoming request to the Core. The size mainly depends on the request and response body sizes but can be estimated at 3 KB per record.
  • instances: One record per workflow execution. The size varies based on the workflow definition but averages 3 KB per record.
  • contexts: One record per workflow or sub-workflow execution, per context key, with an average size of 2 KB per record.
  • tasks: One record per node execution, with an approximate size of 200 bytes per record.
  • processing_traces: One record per message interaction with an external system, typically around 2 KB per record.

TIP

As the request volume may be difficult to estimate for a new deployment, it is recommended to allocate 300 GB for the database filesystem and set the retention period to one month. After a month in production, once the actual volume is observed, the retention period can be adjusted proportionally to the available disk space. It is advisable to maintain disk usage below 75% to accommodate unexpected requests peaks.

Reserve 200 GB of space for storing at least two full database backups locally, considering an expected compression ratio of 5:1.

Create dedicated partitions to protect key application directories from being overfilled by other software running on the same host. The recommended partitioning is as follows:

  • /data/db: 300 GB
  • /data/backup: 200 GB

APIO Core servers

For APIO Core servers in a standard production deployment, the recommended specifications are:

  • CPU: 4 cores
  • RAM: 8 GB

These specifications ensure stable performance for handling workflow execution, API requests, and other core functionalities.

The recommended disk space is 50 GB, which is sufficient to accommodate the application, including Docker images stored under /var/lib/docker and application logs stored under /var/log.

Create dedicated partitions to protect key application directories from being overfilled by other software running on the same host. The recommended partitioning is as follows:

  • /var/lib/docker: 30 GB
  • /var/log: 20 GB

In all cases, the LVM filesystem is recommended to facilitate storage expansion if needed in the future.