This article details ProGlove's adoption of an account-per-tenant model for their serverless SaaS platform on AWS, managing over 6,000 tenant accounts. It explores the architectural trade-offs, highlighting benefits like strong isolation and simplified mental models against challenges in automation, observability, and cost management at scale. The post provides practical insights into operating a highly decentralized multi-tenant environment.
Read original on AWS Architecture BlogProGlove, a SaaS provider for smart wearable barcode scanning solutions, has implemented an extreme multi-account strategy on AWS: an account-per-tenant model. This approach dedicates a separate AWS account to each customer, enabling clear security boundaries and simplified resource ownership. This decision was driven by the need to balance speed of innovation with stringent security and data isolation requirements inherent in SaaS platforms.
While many SaaS providers evolve from dedicated deployments to shared multi-tenant models to optimize costs, ProGlove adopted the account-per-tenant model to address common multi-tenancy challenges. This model mitigates issues such as a large blast radius from misconfigurations, shared quota limits, operational complexity in resource ownership attribution, customization limitations, and difficulties in cost visibility for individual tenants. The AWS account boundary provides the strongest form of isolation.
The account-per-tenant model shifts complexity from application development to platform development. Managing thousands of accounts manually is impractical, necessitating extensive automation for account creation, baseline setup, IAM roles, and guardrails. ProGlove leverages AWS Organizations, Service Control Policies (SCPs), CloudFormation StackSets, and custom tooling to manage this orchestration.