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 is composed of multiple services that work together to achieve modularity, flexibility, and reliability. The core components are the following:
# | Name | Description |
---|---|---|
1 | API | Component which handles API requests coming from users’ browser or API clients |
2 | Frontend | Component which serves frontend assets |
3 | Workers | Pool of workers which handles light to medium tasks |
4 | AI Workers | Pool of workers which handles AI tasks |
5 | Redis | Platform caching and message broker |
6 | S3 | Platform storage |
7 | PostgreSQL | Platform database |
The application is designed to be horizontally and vertically scalable 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 synthetic 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 component #1 and #3;
- [Vertical scaling] to synthesize larger datasets, you may enhance the computational power of the nodes hosting component #4.