Design a Multi-Tenant SaaS Platform
Problem
Design a multi-tenant CRM platform (Salesforce-style) where thousands of orgs share infrastructure but are isolated.
Requirements
Functional:
- Per-tenant data isolation
- Customizable objects/fields per tenant
- Tenant-aware querying and APIs
- Per-tenant limits/quotas
Non-functional:
- 100K+ tenants, huge variance in size
- Strong isolation, no noisy-neighbor
- Configurable schemas
Discussion points
- Isolation models: shared schema vs schema-per-tenant vs DB-per-tenant
- Metadata-driven custom fields
- Tenant routing and query scoping
- Per-tenant rate limiting / governor limits
- Noisy-neighbor mitigation
added …