Towards an Architectural Style for Multi-tenant Software Applications
-
Upload
heiko-koziolek -
Category
Technology
-
view
2.668 -
download
1
description
Transcript of Towards an Architectural Style for Multi-tenant Software Applications
![Page 1: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/2.jpg)
2
Source: salesforce.com
![Page 3: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/5.jpg)
5
Challenges
Technology Focus
Lack ofDocumentation
Ad-hocSolutions
![Page 6: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/7.jpg)
7
Architectural Properties
Maintainability
Elasticity
Customizability
Resource Sharing Architectural
Properties
![Page 8: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/10.jpg)
10
Private Table LayoutExtension Table LayoutUniversal Table Layout
Multi-tenant Database
![Page 11: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/16.jpg)
16
Evaluation?
![Page 17: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/21.jpg)
21
Conclusions
Multi-tenancy as an Architectural Style
![Page 22: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.fdocuments.in/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/22.jpg)
22