Building SaaS Solutions -...
Transcript of Building SaaS Solutions -...
![Page 1: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/1.jpg)
EMEA
Jürgen Pfeifer
Architect, MCA
Microsoft EMEA HQ
http://blogs.msdn.com/juergenp
Building SaaS Solutions
![Page 2: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/2.jpg)
EMEA
Consuming SaaS
![Page 3: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/3.jpg)
EMEA
enterprise
Purchase
The Enterprise
![Page 4: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/4.jpg)
EMEA
From Evaluation...
![Page 5: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/5.jpg)
EMEA
To „Try before you buy“...
![Page 6: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/6.jpg)
EMEA
enterprise
Purchase Deploy
long eval process
try before you buy
The Enterprise
![Page 7: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/7.jpg)
EMEA
From Customization...
![Page 8: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/8.jpg)
EMEA
To Configuration...
![Page 9: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/9.jpg)
EMEA
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
The Enterprise
![Page 10: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/10.jpg)
EMEA
From reliance on internal IT...
![Page 11: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/11.jpg)
EMEA
To SLAs...
![Page 12: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/12.jpg)
EMEA
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
The Enterprise
![Page 13: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/13.jpg)
EMEA
SaaS ISV considerations
![Page 14: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/14.jpg)
![Page 15: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/15.jpg)
EMEA
independent software vendors (ISVs)
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
enable
try before you buy
SaaS Vendors
![Page 16: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/16.jpg)
![Page 17: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/17.jpg)
EMEA
independent software vendors (ISVs)
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
enable
try before you buy
enable
no-code config
SaaS Vendors
![Page 18: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/18.jpg)
![Page 19: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/19.jpg)
EMEA
independent software vendors (ISVs)
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
enable
try before you buy
enable
no-code config
enable
SLA infrastructure
SaaS Vendors
![Page 20: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/20.jpg)
EMEA
enable
economies of scale
independent software vendors (ISVs)
enable
try before you buy
enable
no-code config
enable
SLA infrastructure
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
SaaS Vendors
![Page 21: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/21.jpg)
EMEA
Monetisation
![Page 22: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/22.jpg)
![Page 23: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/23.jpg)
![Page 24: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/24.jpg)
![Page 25: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/25.jpg)
EMEA
Monetization Scheme matters
For the Enterprise
No upfront perpetual license cost
Finance people like predictable recurring cost
For the ISV
Subscription model provides better predicability
of revenue streams
![Page 26: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/26.jpg)
EMEA
independent software vendors (ISVs)
enable
economies of scale
enable
try before you buy
enable
no-code config
enable
SLA infrastructure
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
enable
monetisation schemes
SaaS Vendors
![Page 27: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/27.jpg)
EMEA
![Page 28: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/28.jpg)
EMEA
![Page 29: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/29.jpg)
EMEA
referrals & breadth marketing
self provisioning
self-customisation
delegated administration
automatic billing
Minimize human intervention
![Page 30: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/30.jpg)
EMEA
independent software vendors (ISVs)
enable
economies of scale
enable
try before you buy
enable
no-code config
enable
SLA infrastructure
enterprise
Purchase Deploy Manage
long eval process
try before you buy
customisation
configuration
reliance on internal IT
SLAs
enable
monetisation schemes
enable
minimal intervention
SaaS Vendors
![Page 31: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/31.jpg)
EMEA
User Experience counts
![Page 32: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/32.jpg)
![Page 33: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/33.jpg)
![Page 34: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/34.jpg)
![Page 35: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/35.jpg)
EMEA
Architectural Impact
Very Visible Business
Opportunities
Often Overlooked
Architectural
Challenges
Business Opportunities Architectural Challenges
•Serving the “long tail”
•“try before you buy”
•Subscription model
•Business SLAs
•Multi-tenancy / Scale
•Self service / Automatic provisioning
•Metering / Billing
•SLA Monitoring/Enforcement
(Examples)
![Page 36: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/36.jpg)
EMEA
share isolate
vs
The right balance is determined by:
• Business model (can I monetise?)
• Architectural model (can I do it?)
• Operational model (can I guarantee SLAs?)
• Regulatory constraints (can we share data?)
SLA per tenant
Data Separation
Economy of Scale
Simpler Management
![Page 37: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/37.jpg)
EMEA
BrowserSmart
Client
Presentation
Process Services
Business Services
Meta Data
Services
Security
Services Directory
Service
DatabasesFile
System
Meta
Data
High Level Application Architecture
![Page 38: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/38.jpg)
EMEA
Application Runtime (same code image)
Tenant Profile
and
Configuration Data
Meta Data Service
Farm of deployed application runtime components
Entity Model
Workflow and Rules
User Interface
Application Configuration
and Designer ToolsVirtual application instance
Configurability
Scaleability
Multi-tenant efficiency
Metadata Driven Instances
![Page 39: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/39.jpg)
EMEA
Meta-Data : UI/Branding
![Page 40: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/40.jpg)
EMEA
Meta-Data: Configure Workflows
![Page 41: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/41.jpg)
EMEA
we want to track customer colourpreferences
our customers have peculiar address formats
we need to track customer history by product
we want to keep track of customer visits online
Meta Data: Data Model Extension
![Page 42: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/42.jpg)
EMEA
Meta-Data: Access Control
![Page 43: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/43.jpg)
EMEA
UI/Branding
Workflow and Rules
Data model extensions
Access Control
… other domain specific considerations…
Meta-Data Considerations
![Page 44: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/44.jpg)
EMEA
GUIDANCE
![Page 45: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/45.jpg)
EMEA
Sample Application
Microsoft is developing a sample
application
Addressing all the major architectural
challenges of a SaaS application for the „Long
Tail“
Will be available for download on MSDN
Planned for December 2006
![Page 46: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/46.jpg)
EMEA
Configurable UI
Well understood topic on Microsoft Platform
For Web Apps:
ASP.NET 2.0, AJAX: CSS, Masterpages, Themes
etc.
For Windows Apps:
Use „Windows Presentation Foundation“ (WPF)
![Page 47: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/47.jpg)
EMEA
Configurable Workflow
Workflow Foundation
Uses Markup
Can be stored, manipulated, executed on a per
tenant basis
![Page 48: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/48.jpg)
EMEA
Workflow Customization: Design Time
Hosted Designer
Loads “current” workflow definition (from .xoml
file)
Manipulates workflow object model
Serialize modified object model
Calls Web Service to update .xoml
Customization type
Behavioral (decisions/rules)
Structural (activities)
![Page 49: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/49.jpg)
EMEA
public WorkflowInstance CreateWorkflow
(XmlReader workflowDefinitionReader);
Workflow Customization: Runtime
XAML Activation
![Page 50: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/50.jpg)
EMEA
Configurable Data
Challenges:
Defining custom fields and storing custom data
for each tenant.
Business logic that can handle custom fields
Presentation logic that can handle custom fields
Tenant A
Product ID
Description
Category ID
Catalog Item
Tenant B
Product ID
Description
Classification Code
Catalog Item
![Page 51: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/51.jpg)
EMEA
Approach Security Patterns Extensibility Patterns Scalability Patterns
Separate Databases Trusted Database Connections
Custom Columns Single Tenant Scaleout
Secure Database Tables
Tenant Data Encryption
Shared Database, Separate Schemas
Trusted Database Connections
Custom Columns Tenant-Based Horizontal Partitioning
Secure Database Tables
Tenant Data Encryption
Shared Database, Shared Schema
Trusted Database Connections
Preallocated Fields Tenant-Based Horizontal Partitioning
Tenant View Filter Name-Value Pairs
Tenant Data Encryption
Database Patterns
![Page 52: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/52.jpg)
EMEA
Custom Fields Data and Definition
Meta-data/data dictionary required
3 general approaches:
Separate database for each tenant
Shared database, a canned set of extended
fields
Shared database, any number of extended fields
Tradeoff between each approach
![Page 53: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/53.jpg)
EMEA
Dedicated Tenant Database
Approach: Separate database for each tenant
Database maintains data dictionary
Advantages: Easy to implement
Meta data identifies database instance for each tenant
Tradeoff: Number of tenants per database
server is low
Infrastructure cost of providing service rise quickly
When to use: When tenant has data isolation
requirements
Able to monetize the data extension/isolation feature
Tenant
1Tenant
3
Tenant
2
![Page 54: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/54.jpg)
EMEA
Shared Database, fixed set of
extensions
Approach: All tenants data in one database.
Pre-defined set of custom fields
Advantages: Easy to implement
Maximize number of tenants per database server
Tradeoff: Tendency to results in sparse
table
When to use: When data co-mingling is OK
Easy to anticipate pre-defined custom fields
Tenant ID
F1 F2 C1 C2 C3
345 Ted 53 Null paid Null
777 Kay 34 23 Null Null
784 Mary 45 Null Null Null
345 Ned 21 Null owe Null
438 Pat 26 Null Null yes
![Page 55: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/55.jpg)
EMEA
Same database, variable custom
extensions Approach
All tenants in one database Variable number of custom
fields Name-value pair in separate
tables
Advantage “Unlimited” number/option
for custom fields
Tradeoff Increase
index/search/query/update complexity
When to use OK to co-mingle tenant data Custom fields are high value
features Difficult to predict custom
fields
Tenant ID F1 F2 Record ID
764 Ted $56 893
673 John $32 Null
783 Sal $99 564
Record ID Name Value
893 Status Gold
893 Expire 7-29-2008
564 Affiliation Acme
![Page 56: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/56.jpg)
EMEA
Data: a practical advice
Always design for the most general case, the
single shared database
If a customer wants isolation, just deploy him
on a single instance
This approach gives you the greatest
flexibility.
![Page 57: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/57.jpg)
EMEA
Scaling Application
Stateless
Improve service memory footprint
Improve ability to load balance
Asynchronous I/O
Do useful work while waiting for I/O to complete
Resource Pooling
Threads, network and database connections
Maximize concurrency
Minimize exclusive locking
![Page 58: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/58.jpg)
EMEA
Scaling Data
Data Partition (horizontal)
Divide subscriber data into smaller partitions to
meet performance goals
Schemes: hashing, temporal, etc.
Dynamic Repartitioning
Automatically repartition when database size
reaches maximum size
![Page 59: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/59.jpg)
EMEA
Implication on Identity Architecture
Use identity federation to achieve SSO
How to manage trust – PKI
Standard-based products (WS-Federation, SAML
etc)
Use claims-centric architecture to
communicate access policies
Signed attributes and assertions to rely on roles
and access rules information:
E.g. authorized to purchase if amount < 50
![Page 60: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/60.jpg)
EMEA
Access Control
Some Platform Technologies to consider
ADFS
Windows Role Based Access Control (RBAC)
Authorization Manager (AzMan)
![Page 61: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/61.jpg)
EMEA
Access Control
Role
Users
Groups
Permission
Permission
…
Business Rules
Authorization policies can be defined at different scopes (enterprise, dept etc.)
Permissions, roles, groups and business rules can be customizable per tenant
SCOPE
![Page 62: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/62.jpg)
EMEA
SLAs
SLA Monitoring
Availability
Performance
SLA Enforcing
Rules, notification and alerts
Automated Resource Allocation
Automated provisioning
Early evidence shows SaaS customer are
expecting more when hosted than in-house
![Page 63: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/63.jpg)
EMEA
Composition & Integration
Provide clean and well defined Service
Interfaces
Follow SOA best practices
For Enterprise: support SOAP style and WS-* if
necessary. Windows Communication Foundation
(WCF) is your friend
For Consumer SaaS: support REST style (again,
WCF is your friend)
![Page 64: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/64.jpg)
EMEA
“Classic” Hosting
CPU-Storage-Bandwidth
Shared Services: e.g. Billing, Metering, SLA Monitoring…
a.k.a. SO Infra, Service Delivery Platform, OSS/BSS
As provider: do you build or buy the hosting?
“Classic”
Hoster
SaaS
Hoster
SaaS
Provider
Shared Services
![Page 65: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/65.jpg)
EMEA
Service Delivery Platform: Operational
Security
Log
SaaS
Application
Identity
Management
Usage
Tracking
CRM
Call Center
Support
System
Management
Log
SaaS
Application
SaaS
Application
SaaS
Application
Performance
Availability
Security
SLA Monitoring
Provisioning
Provisioning
Management
Agent
Access
ControlMetering
Order
Management
Service Delivery Platform Runtime
Billing
Management
Alerts
![Page 66: Building SaaS Solutions - download.microsoft.comdownload.microsoft.com/.../forum_talk_2_building_saas_solutions.pdf · 7/29/2008 · Service Delivery Platform: Operational Security](https://reader030.fdocuments.in/reader030/viewer/2022041109/5f0c9fc27e708231d4365414/html5/thumbnails/66.jpg)
© 2006 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.