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 | AI Workers | Pool of workers that handle AI tasks | 
| 5 | Redis | Platform cache and message broker | 
| 6 | S3 | Platform storage | 
| 7 | 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 component #4.