Architecture — real backends, not mocks
Vyomi doesn't simulate cloud services as in-memory dictionaries. Where real software exists that already implements the contract — PostgreSQL, MinIO, Vault, NATS, DynamoDB Local — we use it. SDK conformance becomes a byproduct of architecture choice, not a CI target we chase.
Same wire, same bytes
When boto3 talks S3 to Vyomi, it's talking SigV4 to MinIO. Real bytes land on real disk. The SQL aws-sdk client sends to Cloud SQL? Hits real Postgres 16. No drift between simulation and production behavior on what matters: protocol fidelity.
Upstream does the work
MinIO, Postgres, Vault, NATS each have dedicated teams shipping protocol fixes every week. Vyomi doesn't reimplement S3 semantics or Pub/Sub guarantees — we point the SDK at the engineers who already do.
Open audit trail
Every backend is an OSS Docker image with public source. You can verify what's running, pin versions, swap implementations, or audit security advisories yourself. No black-box closed-source simulator binary.
How requests flow
Interactive C4 diagram below — pan with click-and-drag, zoom with your trackpad / wheel, jump between views with the dropdown in the top-left, hover any node for details, or click Edit in the top-right to view + edit the underlying LikeC4 DSL. Two C4 perspectives in the same dropdown:
- Vyomi internals — System Context → Containers → Dispatcher middleware (3 views)
- Cloud-service lifecycle — Providers → Services → Per-service simulation components (16 views: AWS·GCP·Azure)
The second perspective is the answer to "how does Vyomi simulate S3?" / "how does an EC2 instance actually get provisioned?" Click into AWS → S3 from the dropdown for a worked example.
↗ icon top-right of the box)
and click it to zoom into the child view. Or double-click the box itself.
Plain single-click only opens the element details panel
("No incoming" / "No outgoing" relationships in the current view) —
not the child diagram.
Skip the LikeC4 UI entirely with the direct view links below.
📐 Direct links — open any view in a new tab
Source of truth: c4/cloudlearn.c4 +
c4/cloud-services.c4 · build with
npm run c4:build
Real backends — full mapping
Every backend listed below ships in the standard appliance Docker
Compose stack. Versions are pinned at build time. Health and
provisioning state surface at
/api/runtime/backends.
| Real engine | Version | Backs these cloud surfaces |
|---|---|---|
| PostgreSQL | postgres:16-alpine | AWS RDS (Postgres) · GCP Cloud SQL (Postgres) · Azure SQL (Postgres) |
| MySQL | mysql:8.0 | AWS RDS (MySQL) · GCP Cloud SQL (MySQL) · Azure SQL (MySQL) |
| MinIO | minio/minio:latest | AWS S3 (SigV4 + multipart) · Azure Blob Storage |
| fake-gcs-server | fsouza/fake-gcs-server:latest | GCP Cloud Storage (JSON + XML API) |
| Amazon DynamoDB Local | amazon/dynamodb-local:latest | AWS DynamoDB (PartiQL, streams, transactions) |
| ElasticMQ | softwaremill/elasticmq-native | AWS SQS (standard + FIFO, visibility timeout) |
| NATS + JetStream | nats:2-alpine | AWS EventBridge · GCP Eventarc · Azure Event Grid |
| HashiCorp Vault | hashicorp/vault:1.15 | AWS KMS · AWS Secrets Manager · GCP Cloud KMS · GCP Secret Manager · Azure Key Vault (keys + secrets) |
| gcloud emulator — Pub/Sub | google-cloud-cli:emulators | GCP Pub/Sub (gRPC + REST) |
| gcloud emulator — Firestore | google-cloud-cli:emulators | GCP Firestore (gRPC + REST) |
| Cedar | embedded Python module | AWS IAM policy eval · GCP IAM policy eval · Azure Entra/RBAC |
Services we simulate in-process
Not every cloud service has a viable open-source equivalent. For these, Vyomi implements the API contract and lifecycle directly. State persists to the appliance's SQLite store and survives restarts. Where the real cloud has rich semantics we can't replicate (e.g. live VM hardware), we model what makes the SDK + CLI calls succeed correctly.
- EC2 / Compute Engine / Azure VMs — lifecycle & metadata only; backed by LXD containers when host supports it
- Lambda / Cloud Functions / Function Apps — invocation simulated, real exec on Developer+ tiers via the runtime bridge
- API Gateway / GCP API Gateway / APIM — route + deployment graph; request proxying is in scope for v1.x
- VPC / VPC Network / VNet — topology, subnets, route tables, security groups; no real packet routing
- Cosmos DB — REST contract; AMQP and gremlin are not on the v1 roadmap
Coverage matrix · Conformance Report · Back to API Reference