architectural impact of saas

16
Architectural Impact of SaaS Eric Nelson Microsoft

Upload: kenda

Post on 05-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Architectural Impact of SaaS. Eric Nelson Microsoft. Basic SaaS Maturity Model. 1. ad-hoc /custom. 2. configurable single tenant. 4. configurable multi tenant (scalable). 3. configurable multi tenant. Three Headed Monster. Scaleable. Configurable. Multi-Tenant Efficient. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Architectural Impact of SaaS

Architectural Impact of SaaS

Eric Nelson

Microsoft

Page 2: Architectural Impact of SaaS

1. ad-1. ad-hoc hoc

/custom/custom

2. 2. configurable configurable single tenantsingle tenant

3. 3. configurable configurable multi tenantmulti tenant

4. 4. configurable configurable multi tenant multi tenant (scalable)(scalable)

Basic SaaS Maturity Model

Page 3: Architectural Impact of SaaS

Three Headed Monster

ConfigurablConfigurablee

ScaleablScaleablee

Multi-Multi-Tenant Tenant EfficientEfficient

Page 4: Architectural Impact of SaaS

multi-tenant data multi-tenant data architecturesarchitectures

Page 5: Architectural Impact of SaaS

shareshare isolateisolate

vsvs

business model (can I monetise?)business model (can I monetise?)

architectural model (can I do it?)architectural model (can I do it?)

operational model (can I guarantee operational model (can I guarantee SLAs?)SLAs?)

regulatory constraints (can we share regulatory constraints (can we share data?)data?)

Page 6: Architectural Impact of SaaS

Approach:Approach:Meta data identifies database Meta data identifies database instance for each tenantinstance for each tenant

Advantages:Advantages:Easy to implement data model Easy to implement data model extensionextensionEasy to restore tenant dataEasy to restore tenant dataMore security isolationMore security isolation

Tradeoff:Tradeoff:Number of tenants per database Number of tenants per database server is lowserver is lowHigher management, backup cost Higher management, backup cost and database server and database server infrastructure costsinfrastructure costs

When to use:When to use:When tenant has specific When tenant has specific database isolation requirementsdatabase isolation requirements

Tenant Tenant AA

Tenant Tenant CC

Tenant Tenant BB

separate database per tenantseparate database per tenant

Page 7: Architectural Impact of SaaS

TenanTenant At A

TenanTenant Bt B

TenanTenant Ct C

ApproachApproach::Each tenant gets their own Each tenant gets their own group of tables in the same group of tables in the same database.database.

AdvantagesAdvantages::Easy to implement data model Easy to implement data model extensionextensionModerate security isolationModerate security isolationBetter tenant scale per server Better tenant scale per server

TradeoffTradeoff::More difficult to restore tenant More difficult to restore tenant datadata

When to useWhen to use::Number of tables for the app Number of tables for the app is small (100s)is small (100s)Scale per server is importantScale per server is importantOK to co-locate tenant data in OK to co-locate tenant data in same databasesame database

same database, separate schemasame database, separate schema

Page 8: Architectural Impact of SaaS

TenanTenant At A

Tenant Tenant BB

TenanTenant Ct C

ApproachApproach::All tenants use the same set All tenants use the same set of tables in the same of tables in the same database.database.

AdvantagesAdvantages::Better tenant scale per server Better tenant scale per server Cost of management and Cost of management and backup is lowerbackup is lower

TradeoffTradeoff::Difficult to restore tenant dataDifficult to restore tenant dataHarder to implement data Harder to implement data model extensionmodel extension

When to useWhen to use::Scale per server is importantScale per server is importantOK to co-mingle tenant data in OK to co-mingle tenant data in same databasesame database

same database, same schemasame database, same schema

Page 9: Architectural Impact of SaaS

single instance, mult-single instance, mult-tenanttenant

Page 10: Architectural Impact of SaaS

ConfigurableConfigurable

Page 11: Architectural Impact of SaaS

considerationsconsiderations

meta-datameta-data

UI/brandingUI/branding

workflow and rulesworkflow and rules

data model extensionsdata model extensions

access controlaccess control

… … other domain specific other domain specific considerations…considerations…

Page 12: Architectural Impact of SaaS

UI/brandingUI/branding

meta-datameta-data

Page 13: Architectural Impact of SaaS

workflow/rulesworkflow/rules

meta-datameta-data

Page 14: Architectural Impact of SaaS

data model data model extensionsextensions

meta-datameta-data we want to we want to track customer track customer

colour colour preferencespreferences

our customers our customers have peculiar have peculiar

address address formatsformats

we need to we need to track customer track customer

history by history by productproduct

we want to we want to keep track of keep track of

customer visits customer visits onlineonline

Page 15: Architectural Impact of SaaS

access controlaccess control

meta-datameta-data

Page 16: Architectural Impact of SaaS

Summary

• Plenty of stuff to get right • Plenty of stuff to get wrong • It is not easy to do well...