towards an architectural style for multi-tenant software applications
DESCRIPTION
Multi-tenant software applications serve different organizations from a single instance and help to save development, maintenance, and administration costs. The architectural concepts of these applications and their relation to emerging platform-as-a-service (PaaS) environments are still not well understood, so that it is hard for many developers to design and implement such an application. Existing attempts at a structured documentation of the underlying concepts are either technology-specific or restricted to certain details. We propose documenting the concepts as a new architectural style. This paper initially describes the architectural properties, elements, views, and constraints of this style. We illustrate how the architectural elements are implemented in current PaaS environments, such as Force.com, Windows Azure, and Google App Engine.TRANSCRIPT
![Page 1: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/16.jpg)
16
Evaluation?
![Page 17: Towards an Architectural Style for Multi-tenant Software Applications](https://reader035.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/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.vdocuments.mx/reader035/viewer/2022062614/546e8380af79595d298b57b7/html5/thumbnails/22.jpg)
22