Requirements
For a successful deployment of the Aindo Synthetic Data platform, the infrastructure on which the application is deployed must meet the requirements that follow.
Nodes requirements
The platform can run on single-node or multi-node Kubernetes clusters. A single node deployment is recommended when (1) you want to keep the infrastructure as simple as possible, (2) scalability requirements are low (e.g., there are few users using the platform and you run one synthesis job at a time), and (3) a high-availability deployment is not required.
Single-node requirements
The minimum requirements for a single-node deployment are as follows:
Property | Requirement |
---|---|
Operating system | Ubuntu Server 24.04 LTS, Ubuntu Server 22.04 LTS |
CPU | 32 vCPU (16 cores) with AVX-512 instructions (*) |
RAM | 64 GB (*) |
Storage | 200 GB (**) |
(*) a node with higher compute resources may be required depending on users mean workload and the datasets you plan to synthesize
(**) the requirement may change depending on the platform usage and if the services with persistence (S3, PostgreSQL and Redis) are hosted outside the node
Multi-node requirements
For a multi-node deployment, you need a Kubernetes cluster with at least two nodes.
To simplify the requirements outline, we will consider a two-node setup: one node dedicated to serving the web application and the other to running the synthesis worker. In this case, the minimum requirements are as follows:
Property | Requirement |
---|---|
Kubernetes version | >=1.23 |
CPU App Node | 8 vCPU (4 cores) (*) |
RAM App Node | 16 GB (*) |
CPU Worker Node | 16 vCPU (8 cores) (*) |
RAM Worker Node | 32 GB (*) |
(*) nodes with higher compute resources may be required depending on users mean workload and the datasets you plan to synthesize
In more complex scenarios, where scalability and high-availability deployment are essential, the requirements are determined after a thorough analysis of the needs.
Services with persistence
As shown in the architecture section, the services which require persistence (Redis, PostgreSQL and S3) may be hosted outside the Kubernetes cluster. In this case, the versions of these services must meet the following requirements:
Service | Version |
---|---|
Redis | 6, 7 |
PostgreSQL | >=12, <=17 |
S3 | S3, MinIO or other S3 compatible object storage |
Network
The platform relies on Docker images and containers (see architecture section), therefore the nodes must have internet connectivity to download images from the Aindo registry (hosted on Docker Hub) or from your internal image registry, if you plan to use this solution.