Architecture
MOSTLY AI runs as a set of containerized applications and services that you can deploy in a Kubernetes cluster and maintain a fault-tolerant and highly available application.
Application Nodes
Pod and image name | Description | Pod Lifecycle | |
---|---|---|---|
Web frontend | mostly-uimostly-app-ui | Contains the frontend of MOSTLY AI. Reachable over port 8080 . | Service |
Backend | mostly-appmostly-app-enterprise | Contains the backend and public APIs of MOSTLY AI. | Service |
Coordinator Service | mostly-coordinatormostly-coordinator | Component that takes all requests from the web application and coordinates execution of tasks on the main AI engine. | Service |
Data discovery | mostly-core-apimostly-core-api | Component that reads metadata and analyzes data sources and destinations. | Service |
Keycloak | mostly-keycloakmostly-keycloak | Keycloak is an open-source identity management, authentication, and authorization tool. This container has a pre-configured Keycloak instance for MOSTLY AI. | Service |
PostgreSQL | mostly-psqlpostgres | Database instance of the system. Contains databases for app, coordinator, and Keycloak. | Service |
MinIO | mostly-miniominio | Shared storage service. | Service |
AI Worker nodes
Pod and image name | Description | Pod Lifecycle | |
---|---|---|---|
AI job | engine-task-<task-id>mostly-core | • Reads from data sources and writes into data destinations • Performs AI training and data generation. • Create Model and Data reports | Job |
Third-party integrations and connections
Active Directory is an optional integration that can help you manage the authentication of users to MOSTLY AI. With this integration, end users do not need to create new credentials to log in to MOSTLY AI.
Image repository
The MOSTLY AI image repository contains the deployment images of all containers and makes it easy to deploy MOSTLY AI to various types of Kubernetes clusters.
Corporate databases
MOSTLY AI can connect to your internal databases (with the help of connectors) and read original data or deliver the generated synthetic data in the same or another database.
Cloud storage buckets and NFS drives
In addition to databases, you can also read original data and deliver synthetic data from and to cloud storage buckets (AWS S3, Azure blob storage, Google Cloud storage buckets) as well NFS drives local to the server where MOSTLY AI is deployed.
Supported Kubernetes storage classes
MOSTLY AI uses two types of storage.
- Block Storage. Used by single pods, such as PostgreSQL.
- Shared Storage. Shared by various pods to store models, synthetic data, and others. MOSTLY AI provides shared storage via MinIO (opens in a new tab).
For a list of all supported storage classes, see the table below.
ReadWriteOnce (RWO ) | |
---|---|
Amazon AWS | • Elastic Block Storage (EBS) |
Azure | • managed-csi • managed-csi-premium |
Google Cloud | • standard-rwo • premium-rwo |
OpenShift | • CephFS |
minikube | • Local storage |
Unlisted storage classes are not officially supported. For more information, see Storage classes (opens in a new tab) in the Kubernetes documentation.