Understanding the Architecture and Components
Protegrity Synthetic Data generates realistic, privacy-safe synthetic datasets using machine learning models. It learns patterns and distributions from real data, then produces new records with similar statistical properties.
Protegrity Synthetic Data uses Kubernetes for scalable Synthetic Data generation and supports deployment on AWS EKS.
Component Diagram
The following diagram shows the deployment architecture and communication between components.
graph TD
User([User / Client Application]) -->|HTTPS :443| GW[PPC Gateway]
User --> SDK[Synthetic Data Python SDK]
SDK -->|HTTPS :443| GW
GW -->|:8000 /pty/syntheticdata/v2| App[Synthetic Data
REST Server + ML Engine]
App -->|:5432 jobstatedb + mlopsdb| DB[(PostgreSQL)]
subgraph EKS [EKS Cluster · synthetic-data-ns]
GW
App
DB
end
subgraph AWS
S3[(S3 Bucket
Data Storage)]
IAM[IAM Role
Pod Identity]
end
App -.->|assumes| IAM
IAM -.->|grants access| S3
App <-->|read / write| S3Communication Ports
| Port | Direction | Description |
|---|---|---|
| 443 | User and SDK → PPC Gateway | HTTPS entry point for user and SDK traffic |
| 8000 | Gateway → Synthetic Data REST Server | Synthetic Data REST API (/pty/syntheticdata/v2) |
| 5432 | Synthetic Data REST Server → PostgreSQL | Stores job state (jobstatedb) and MLOps model tracking (mlopsdb); internal only |
Components
PPC Gateway: Exposes the external HTTPS endpoint and routes requests to the Synthetic Data REST API.
Synthetic Data REST Server: Exposes the
/pty/syntheticdata/v2API and runs ML models such as VineCopula, TabDiff, TabularGAN, and SMOTE in-process to produce synthetic datasets. It stores job metadata in PostgreSQL, reads input data from the S3 bucket and writes output data to it.PostgreSQL: Hosts two logical databases.
jobstatedbstores job metadata, including generation parameters, job status, and result references.mlopsdbstores MLOps model contracts, training runs, metrics, and artifact references managed by the MLOps library.S3 Storage: Stores input datasets and generated synthetic datasets.
IAM Role with EKS Pod Identity: Grants the Synthetic Data REST Server secure access to the S3 bucket without static AWS credentials.
Python SDK: Provides programmatic access to the REST API. For more information about the Python SDK, refer to the Python SDK Installation section.
Feedback
Was this page helpful?