Architectural Impact of SaaS Eric Nelson Microsoft
16 Slides1.95 MB
Architectural Impact of SaaS Eric Nelson Microsoft
Basic SaaS Maturity Model 1. adhoc /custom 3. configurable multi tenant 2. configurable single tenant 4. configurable multi tenant (scalable)
Three Headed Monster Scaleabl e Configurabl e MultiTenant Efficient
multi-tenant data architectures
vs share isolate business model (can I monetise?) architectural model (can I do it?) operational model (can I guarantee SLAs?) regulatory constraints (can we share
separate database per tenant Approach: Meta data identifies database instance for each tenant Advantages: Easy to implement data model extension Easy to restore tenant data More security isolation Tradeoff: Number of tenants per database server is low Higher management, backup cost and database server infrastructure costs When to use: When tenant has specific database isolation requirements Tenant Tenant Tenant A B C
same database, separate schema Approach: Each tenant gets their own group of tables in the same database. Advantages: Easy to implement data model extension Moderate security isolation Better tenant scale per server Tradeoff: More difficult to restore tenant data When to use: Number of tables for the app is small (100s) Scale per server is important Tenan tA Tenan tB Tenan tC
same database, same schema Approach: All tenants use the same set of tables in the same database. Advantages: Better tenant scale per server Cost of management and backup is lower Tenant B Tenan tA Tradeoff: Difficult to restore tenant data Harder to implement data model extension When to use: Scale per server is important OK to co-mingle tenant data in same database Tenan tC
single instance, multtenant
Configurable
meta-data UI/branding workflow and rules data model extensions access control other domain specific considerations considerations
meta-data UI/branding
meta-data workflow/rules
meta-data we want to track customer colour preferences we want to keep track of customer visits online our customers have peculiar address formats we need to track customer history by product data model extensions
meta-data access control
Summary Plenty of stuff to get right Plenty of stuff to get wrong It is not easy to do well.