Architecture
The Aindo Synthetic Data Platform is powered by Docker containers running in a Kubernetes cluster, ensuring scalability and reliability across a variety of use cases.
The platform’s architecture can be represented schematically as follows:

As illustrated in the schema, the platform consists of multiple services working together to achieve modularity, flexibility, and reliability. The core components are the following:
| # | Name | Description |
|---|---|---|
| 1 | API | Component that handles API requests coming from users’ browsers or API clients |
| 2 | Frontend | Component that serves frontend assets |
| 3 | Workers | Pool of workers that handle light to medium tasks |
| 4 | Persistent AI Workers | Persistent pool of workers that handle AI tasks |
| 5 | On-demand AI Workers | Pool of workers spawned on-demand that handle AI tasks |
| 6 | Redis | Platform cache and message broker |
| 7 | S3 | Platform storage |
| 8 | PostgreSQL | Platform database |
The application is designed to scale both horizontally and vertically depending on the needs. Here are some examples of how this scalability can be leveraged:
- [Horizontal scaling] to increase the number of concurrent synthesis jobs (such as training and generated dataset generation), you may increase the number of replicas of component #4;
- [Horizontal scaling] to support a higher number of concurrent users on the platform, you may increase the replicas of components #1 and #3;
- [Vertical scaling] to synthesize larger datasets, you can enhance the computational power of the nodes hosting components #4 and #5.
Persistent AI Workers vs On-demand AI Workers
The Aindo Synthetic Data Platform supports two types of worker to perform AI workloads:
- Persistent AI Workers: simple queue-based worker pool with a fixed size, enabled by default
- On-demand AI Workers: flexible worker pool that uses Kubernetes Jobs to run the AI workloads, must be configured manually
For more details on how to set up these worker types, refer to the AI Workers Configuration guide.