+ All Categories
Home > Technology > Towards an Architectural Style for Multi-tenant Software Applications

Towards an Architectural Style for Multi-tenant Software Applications

Date post: 18-Nov-2014
Category:
Upload: heiko-koziolek
View: 2,668 times
Download: 1 times
Share this document with a friend
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.
22
Towards an Architectural Style for Multi-tenant Software Systems Industrial Software Systems ABB Corporate Research Dr.-Ing. Heiko Koziolek 1
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


Recommended