32
Successful SaaS - what will it take? Eric Nelson Application Architect Microsoft Ltd http://blogs.msdn.com/ericnel

Successful SaaS - what will it take?

  • Upload
    dayton

  • View
    56

  • Download
    1

Embed Size (px)

DESCRIPTION

Successful SaaS - what will it take?. Eric Nelson Application Architect Microsoft Ltd http://blogs.msdn.com/ericnel. Why should an ISV care?. RECAP. Achieve enormous wealth . Money Predictable revenue New revenue Shorter sales cycles Lower cost of sales - PowerPoint PPT Presentation

Citation preview

Page 1: Successful  SaaS - what will it take?

Successful SaaS- what will it take?

Eric NelsonApplication Architect

Microsoft Ltdhttp://blogs.msdn.com/ericnel

Page 2: Successful  SaaS - what will it take?

RECAP...Why should an ISV care?

Page 3: Successful  SaaS - what will it take?

Achieve enormous wealth Money

Predictable revenueNew revenueShorter sales cyclesLower cost of salesReduced support and maintenance costs

Page 4: Successful  SaaS - what will it take?

I want your cool SaaS

App!

Gain millions of new customers

I want your cool SaaS

App!I want

your cool SaaS App!

I want your cool SaaS

App!

Opportunities“The Long Tail”New geographies

Page 5: Successful  SaaS - what will it take?

Become more desirable Agility

Quick to enter new marketsQuick to respond to competitorsQuick to respond to customers

LoyaltyTry before you buyTighter RelationshipResponsive

After SAAS

Before SAAS

Page 6: Successful  SaaS - what will it take?

Yet don’t work very hardSimplicity

One version of the application deployedCore vs Custom headaches vanishNo more onsite visitsNo more customers tinkering with your codeNo more competitors spying on your codeLess sales people (selling something you haven’t built)

Page 7: Successful  SaaS - what will it take?

Ah... but... There is a Huge Impact on...

Business ModelSales and MarketingTechnical ModelNeed to execute well in all 3 areas

Page 8: Successful  SaaS - what will it take?

Sidebar: SaaS-less SaaS?SaaS benefits on-premise?Benefits:

Rapid provisioningReduced initial costsImmediate ValueHigh degree of configuration vs customisationSeamless deploymentSeamless upgradesAddress the “long tail”

Page 9: Successful  SaaS - what will it take?

TECHNICAL CHALLENGESI suppose there are a few

Page 10: Successful  SaaS - what will it take?

1. ad-hoc

/custom2. configurable single tenant

3. configurable multi tenant

4. configurable multi tenant (scalable)

Basic SaaS Maturity Model

Page 11: Successful  SaaS - what will it take?

Three Headed Monster

Configurable

Scaleable

Multi-Tenant Efficient

Page 12: Successful  SaaS - what will it take?

multi-tenant data architectures

Page 13: Successful  SaaS - what will it take?

share isolate

vs

business model (can I monetise?)architectural model (can I do it?)operational model (can I guarantee

SLAs?)regulatory constraints (can we share

data?)

Page 14: Successful  SaaS - what will it take?

Approach:Meta data identifies database instance for each tenant

Advantages:Easy to implement data model extensionEasy to restore tenant dataMore security isolation

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

When to use:When tenant has specific database isolation requirements

Tenant A

Tenant C

Tenant B

separate database per tenant

Page 15: Successful  SaaS - what will it take?

Tenant A

Tenant B

Tenant C

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

Advantages:Easy to implement data model extensionModerate security isolationBetter 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 importantOK to co-locate tenant data in same database

same database, separate schema

Page 16: Successful  SaaS - what will it take?

Tenant A

Tenant B

Tenant C

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

Tradeoff:Difficult to restore tenant dataHarder to implement data model extension

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

same database, same schema

Page 17: Successful  SaaS - what will it take?

single instance, mult-tenant

Page 18: Successful  SaaS - what will it take?

Configurable

Page 19: Successful  SaaS - what will it take?

considerations

meta-data

UI/brandingworkflow and rules

data model extensionsaccess control

… other domain specific considerations…

Page 20: Successful  SaaS - what will it take?

UI/branding

meta-data

Page 21: Successful  SaaS - what will it take?

workflow/rules

meta-data

Page 22: Successful  SaaS - what will it take?

data model extensions

meta-data we want to track customer

colour preferences

our customers have peculiar

address formats

we need to track customer

history by product

we want to keep track of

customer visits online

Page 23: Successful  SaaS - what will it take?

Sample Application

Microsoft has developed a sample application - LitwareHRAddressing the major architectural challenges of a SaaS application for the “Long Tail“Available for download

http://www.codeplex.com/litwarehr

Page 24: Successful  SaaS - what will it take?

Contoso Customizations:UI: “Contoso Orange” L&F Data: New “Job Level” Field

Workflow: Recruitement based on Job Level

Litware HR: A Sample SaaS App

HR App (Recruitment)Single Instance Multi Tenant

Authenticated accessConfiguration & Post jobs

Private site

Web Interface

Unauthenticated accessSearch & Apply for jobs

Web APIs

Public site

Web Interface

Internet

Music SchoolRetail Shoe Chain

Operational Platform

“Internal” SaaS Hosting PlatformProvisioning (try before buy)

Billing (not implemented)

Page 25: Successful  SaaS - what will it take?

LitwareHR

Act 1: Tenant Sign Up and Provisioning

demo

Page 26: Successful  SaaS - what will it take?

TenantProvisioning

Service

ADAM

SQL Database

IIS

Tenant Provisioning Behind the Scene

Provisioning Process Workflow

Page 27: Successful  SaaS - what will it take?

LitwareHR

Act 2: Configuring Application

demo

Page 28: Successful  SaaS - what will it take?

Meta Data Driven Architecture

Tenant Profile and

Configuration Data

Meta Data Service

Entity Model

Workflow and Rules

User Interface

Application Configuration and Designer Tools

Runtime

Page 29: Successful  SaaS - what will it take?

SummaryPlenty of stuff to get right Plenty of stuff to get wrong LitwareHR is a good starting point

But... plenty “left to the reader”

Page 30: Successful  SaaS - what will it take?

Appendix

Page 31: Successful  SaaS - what will it take?

Templatized Configuration

Templatized Designers

Trusted Partners

Premium Customers

Standard Customers Runtime

Metadata

Runtime Metadata

Runtime Metadata

Policies

Security, Fairness

and Halting Policies

Runtime Policy Enforcement

Engine

Design Time Runtime

Application Instance

Metadata

Designer Policy

Enforcement Engine

Page 32: Successful  SaaS - what will it take?

View

Entity 1

Entity 2

Extension

Tenant ID … Row ID

123 … …

456 … …

Extension ID

Name Data Type

999 Location Short Text

888 JobLevel Number

3. Multi-tenant Data Store

Extension name-value pair

Extension

Row ID Value Extension ID

ABC … 999

DEF … 888

2. Extensible Data Model

1. Tenant Configurable

Data View

Data Model Configuration

Extension meta data