towards an architectural style for multi-tenant software applications

Post on 18-Nov-2014

2.670 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

1

Towards an

Architectural StyleforMulti-tenant

Software Systems

Industrial Software SystemsABB Corporate Research

Dr.-Ing. Heiko Koziolek

2

Source: salesforce.com

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

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

5

Challenges

Technology Focus

Lack ofDocumentation

Ad-hocSolutions

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]

7

Architectural Properties

Maintainability

Elasticity

Customizability

Resource Sharing Architectural

Properties

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

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

10

Private Table LayoutExtension Table LayoutUniversal Table Layout

Multi-tenant Database

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

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

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

14

Architectural Properties

Single Code Base

Stateless Application Tier

STATE

Shared Data Resources

Customization Component

Architectural

Constraints

15

Architectural Trade-offs

Complexity vs. Time to market

Resource Sharingvs. Security / Availability

Customizabilityvs. Maintainability

16

Evaluation?

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

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

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

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? ?

21

Conclusions

Multi-tenancy as an Architectural Style

22

top related