Intro
Objective
To build a scalable, secure, and efficient multitenant SaaS database architecture that supports seamless onboarding and data isolation for multiple tenants and products.
Approach: Multitenant Architecture
We have adopted a silo-shard concept for our multitenant SaaS platform. Each tenant is provisioned with a dedicated silo, which is created dynamically in Google Kubernetes Engine (GKE) using a custom Helm chart. Each silo manages all data for a particular tenant across all their subscribed products, ensuring strong data isolation and scalability.
All metadata and database configuration details are maintained in a separate Aventian metadata database (out of scope for this document).
Architecture Diagram
Tech Stack Used
-
PostgreSQL: Primary database engine for tenant silos
-
Docker: Containerization of database and application services
-
Google Kubernetes Engine (GKE): Orchestration and management of silos
-
Kubernetes (k8s): Underlying container orchestration
-
Helm: Custom charts for automated silo provisioning
-
Flyway: Database migration and version control
For more details, refer to the specific product and resource documentation in this section.