cell-based architecture pattern
Divide users (or tenants) into independent cells, each with its own infrastructure stack. A failure in one cell affects only that cell's users. Each cell is small enough to deploy/test independently. Slack, AWS, and many large multi-tenant SaaS use this.
Divide users (or tenants) into independent cells, each with its own infrastructure stack. A failure in one cell affects only that cell's users. Each cell is small enough to deploy/test independently. Slack, AWS, and many large multi-tenant SaaS use this.
symptoms
- single deploy can take down everyone
- one bad tenant degrades all tenants
- horizontal scaling hits coordination bottlenecks
causes
- monolithic prod environment
- all tenants share the same stack
fixes
- cells of N tenants each
- cell router maps tenant → cell
- deploy/test/recover per cell
- shuffle sharding for blast-radius minimization
you might say
- cell architecture
- shuffle into cells
- blast radius per cell