+ All Categories
Transcript
Page 1: Towards an Architectural Style for Multi-tenant Software Applications

1

Towards an

Architectural StyleforMulti-tenant

Software Systems

Industrial Software SystemsABB Corporate Research

Dr.-Ing. Heiko Koziolek

Page 2: Towards an Architectural Style for Multi-tenant Software Applications

2

Source: salesforce.com

Page 3: Towards an Architectural Style for Multi-tenant Software Applications

3

28.04.2008: „SAPs neue

Mittelstandssoftware ‚Business By Design‘ klemmt“

25.10.2008:„SAP will sich von

Outsourcing-Tochter trennen“

19.02.2009:„SAP dementiert Verkaufsstopp

für ‚Business by Design‘“

Source: heise.de

Page 4: Towards an Architectural Style for Multi-tenant Software Applications

4

Single-Tenancy Multi-Tenancy

Tenant1 Tenant2 Tenant3

App

Database

OS

Hardware

Tenant1

App

Database

OS

Hardware

Tenant2

App

Database

OS

Hardware

Tenant3

App

Database

OS

Hardware

Page 5: Towards an Architectural Style for Multi-tenant Software Applications

5

Challenges

Technology Focus

Lack ofDocumentation

Ad-hocSolutions

Page 6: Towards an Architectural Style for Multi-tenant Software Applications

6

Architectural Styles

Client /

Server

Pipe-and-

Filter

Peer-to-Peer

Mobile Code

Blackboard

C2

REST

(WWW)

SPIAR (AJAX)

Idea: Multi-tenancy Style

An architectural style is a coordinated set of architectural constraints that restricts the roles / features of architectural elements and the allowed relationships among those elements within any architecture that conforms to that style.

[Fielding2000]

Page 7: Towards an Architectural Style for Multi-tenant Software Applications

7

Architectural Properties

Maintainability

Elasticity

Customizability

Resource Sharing Architectural

Properties

Page 8: Towards an Architectural Style for Multi-tenant Software Applications

8

SPOSAD Style for Multi-Tenancy

Client Tier Application Tier Data Tier

Browser

Rich Client

Multi-tenant Database

Meta-Data

DataAsynch, Synch

TransferLoad

Bala

ncer Application

Threads

Meta-DataManagerC

ach

e (

op

tion

al)

REST

Customization

REST

Page 9: Towards an Architectural Style for Multi-tenant Software Applications

9

SPOSAD Style for Multi-Tenancy

Client Tier Application Tier Data Tier

Browser

Rich Client

Multi-tenant Database

Meta-Data

DataAsynch, Synch

TransferLoad

Bala

ncer Application

Threads

Meta-DataManagerC

ach

e (

op

tion

al)

REST

Customization

REST

Resource Sharing

Elasticity Maintainability

Customizability

Page 10: Towards an Architectural Style for Multi-tenant Software Applications

10

Private Table LayoutExtension Table LayoutUniversal Table Layout

Multi-tenant Database

Page 11: Towards an Architectural Style for Multi-tenant Software Applications

11

Private Table LayoutExtension Table LayoutUniversal Table Layout

Account27

AID Name Robot

Speed

1 ABC X 20

2 DEF Y 50

Account46

AID Name Lines

1 JKM 12

Account33

AID Name

1 GHI

Multi-tenant Database

Page 12: Towards an Architectural Style for Multi-tenant Software Applications

12

Private Table LayoutExtension Table LayoutUniversal Table Layout

Account-Extension

Tenant ID Row AID Name

27 0 1 ABC

27 1 2 DEF

33 0 1 GHI

46 0 1 JKM

Industrial-Account

Tenant ID

Row Robot Speed

27 0 X 20

27 1 Y 50

Telecommunication-Account

Tenant ID

Row Lines

46 0 12

Multi-tenant Database

Page 13: Towards an Architectural Style for Multi-tenant Software Applications

13

Private Table LayoutExtension Table LayoutUniversal Table Layout

Universal

Tenant ID

Table Col1 Col2 Col3 Col4 Col5 Col6

27 0 1 ABC X 20 - -

27 0 2 DEF Y 50 - -

33 1 1 GHI - - - -

46 2 1 JKM 12 - - -

Multi-tenant Database

Page 14: Towards an Architectural Style for Multi-tenant Software Applications

14

Architectural Properties

Single Code Base

Stateless Application Tier

STATE

Shared Data Resources

Customization Component

Architectural

Constraints

Page 15: Towards an Architectural Style for Multi-tenant Software Applications

15

Architectural Trade-offs

Complexity vs. Time to market

Resource Sharingvs. Security / Availability

Customizabilityvs. Maintainability

Page 16: Towards an Architectural Style for Multi-tenant Software Applications

16

Evaluation?

Page 17: Towards an Architectural Style for Multi-tenant Software Applications

17

Client Tier Application Tier Data Tier

Browser

Rich Client

Multi-tenant Database

Meta-Data

DataAsynch, Synch

TransferLoad

Bala

ncer Application

Threads

Meta-DataManagerC

ach

e (

op

tion

al)

REST

Customization

REST

Virtual Application Components

Customized Oracle RAC

Runtime EngineUniversal Table

Layout

Page 18: Towards an Architectural Style for Multi-tenant Software Applications

18

Client Tier Application Tier Data Tier

Browser

Rich Client

Multi-tenant Database

Meta-Data

DataAsynch, Synch

TransferLoad

Bala

ncer Application

Threads

Meta-DataManagerC

ach

e (

op

tion

al)

REST

Customization

REST

Web / WorkerRoles

Blobs, Tables, SQL Azure

Worker Role

Page 19: Towards an Architectural Style for Multi-tenant Software Applications

19

Client Tier Application Tier Data Tier

Browser

Rich Client

Multi-tenant Database

Meta-Data

DataAsynch, Synch

TransferLoad

Bala

ncer Application

Threads

Meta-DataManagerC

ach

e (

op

tion

al)

REST

Customization

REST

JSP / Servlet,Python

Google Big Table

App Engine Services

Page 20: Towards an Architectural Style for Multi-tenant Software Applications

20

27.01.2010

„Mit dem Featurepack 2.5, das Mitte dieses Jahres erscheint,

bekommt Business ByDesign eine Multi-Tenant-Architektur“

Peter Lorenz Leiter SME Solutions SAP

Source: isreport.de

…and SAP? ?

Page 21: Towards an Architectural Style for Multi-tenant Software Applications

21

Conclusions

Multi-tenancy as an Architectural Style

Page 22: Towards an Architectural Style for Multi-tenant Software Applications

22


Top Related