To move from "I don't understand anything about SaaS!" to "I completely understand SaaS!", here is a compilation of useful resources.
Resources
- docs.aws.amazon.com - Fundamentals of SaaS Architecture
- docs.aws.amazon.com - SaaS Lens
- docs.aws.amazon.com - SaaS Tenant Isolation Strategies: Isolating Resources in a Multi-Tenant Environment
- docs.aws.amazon.com - SaaS Storage Strategies
- d1.awsstatic.com - SaaS Tenant Isolation Strategies
- speakerdeck.com - Overview of SaaS Architecture
- dev.classmethod.jp - [Report] Learning SaaS Architecture Patterns #reinvent #ARC306
Considerations for Architecture in SaaS Business Models
- Can you provide flexible services to users (subscription plans, features, etc.)?
- Can you onboard users quickly (getting them started with the service)?
- Can you manage analytics, metrics, and billing appropriately?
- Can you ensure non-functional requirements considering noisy neighbors?
- Can you adequately address data leakage (ensuring data that should not be visible to other users remains hidden)?
- There are various methods for isolating resources used by tenants.
- What resources do you want to separate in terms of functionality, performance, and data?
Thoughts
- Cost optimization seems challenging. If a specific tenant consumes excessive resources but is billed similarly to others, it could lead to issues...
- There may be needs to share tenants between a parent company and a subsidiary or to partially integrate data, which could be complicated. There are trade-offs involved.