SlideShare a Scribd company logo
1 of 22
Towards an

Architectural Style
           for Multi-tenant
                      Software Systems




                 Dr.-Ing. Heiko Koziolek
                  Industrial Software Systems
                   ABB Corporate Research




                                                1
Source: salesforce.com

                  2
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
                                           3
Single-Tenancy                 Multi-Tenancy

Tenant1   Tenant2   Tenant3   Tenant1   Tenant2    Tenant3

  App      App       App                  App

Database Database Database              Database

  OS        OS        OS                  OS

Hardware Hardware Hardware              Hardware




                                                             4
Challenges
   Lack of        Ad-hoc     Technology
Documentation    Solutions      Focus




                                          5
Architectural Styles

An architectural /style is a coordinated set of
        ļ‚§ Client Server ļ‚§ Blackboard
architectural constraints that restricts
        ļ‚§ Pipe-and-Filter ļ‚§ C2
the roles / features of architectural elements
and the ļ‚§ Peer-to-Peer
        allowed relationshipsREST (WWW)
                              ļ‚§ among those elements
within any architecture that conforms to that style.
        ļ‚§ Mobile Code         ļ‚§ SPIAR (AJAX) [Fielding2000]



   Idea: Multi-tenancy Style
                                                              6
Resource Sharing                     Elasticity
                   Architectural
                    Architectural
                    Properties
                     Properties




     Maintainability            Customizability
                                                  7
SPOSAD Style for Multi-Tenancy

Client Tier                              Application Tier                            Data Tier



                                                          Application                Multi-tenant
  Browser             Cache (optional)


                                          Load Balancer
                                                           Threads                    Database
               REST
                                                                          Asynch,
                                                          Customization    Synch         Data
               REST                                                       Transfer
                                                           Meta-Data                  Meta-Data
 Rich Client
                                                            Manager




                                                                                                    8
SPOSAD Style for Multi-Tenancy

Client Tier                               Application Tier                              Data Tier

                                         Elasticity                     Maintainability

                                                            Application                 Multi-tenant
  Browser             Cache (optional)


                                            Load Balancer
                                                             Threads                     Database
               REST
                                                                             Asynch,
                                                            Customization     Synch         Data
               REST                                                          Transfer
                                                             Meta-Data                    Meta-Data
 Rich Client
                                                              Manager




                        Customizability                               Resource Sharing                 9
Multi-tenant Database

Private Table Layout   Extension Table Layout   Universal Table Layout




                                                                   10
Multi-tenant Database

Private Table Layout      Extension Table Layout    Universal Table Layout



           Account27
           AID     Name       Robot Speed     Account33
           1       ABC        X     20        AID     Name
           2       DEF        Y     50        1       GHI


                  Account46
                  AID     Name     Lines
                  1       JKM      12


                                                                       11
Multi-tenant Database

Private Table Layout       Extension Table Layout           Universal Table Layout

                                      Industrial-Account
                                      Tenant ID     Row         Robot   Speed
 Account-Extension
                                      27            0           X       20
 Tenant ID   Row     AID   Name
                                      27            1           Y       50
 27          0       1     ABC
 27          1       2     DEF          Telecommunication-Account
 33          0       1     GHI          Tenant ID       Row     Lines
 46          0       1     JKM          46              0       12




                                                                                12
Multi-tenant Database

Private Table Layout      Extension Table Layout     Universal 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     -       -      -




                                                                        13
Shared
Single Code Base
                   Architectural
                    Architectural      Data Resources
                    Constraints
                     Properties


                               STATE



Customization Component      Stateless Application Tier
                                                      14
Architectural Trade-offs

                              Resource Sharing
                          vs. Security / Availability




    Complexity
vs. Time to market

                             Customizability
                            vs. Maintainability
                                                        15
Evaluation?




              16
Client Tier                               Application Tier                            Data Tier
                      Virtual Application                                        Customized
                         Components                                              Oracle RAC

                                                           Application                Multi-tenant
  Browser              Cache (optional)


                                           Load Balancer
                                                            Threads                    Database
               REST
                                                                           Asynch,
                                                           Customization    Synch         Data
               REST                                                        Transfer
                                                            Meta-Data                  Meta-Data
 Rich Client
                                                             Manager



                                                                            Universal Table
                                                Runtime Engine
                                                                                Layout


                                                                                                     17
Client Tier                              Application Tier                              Data Tier
                          Web / Worker                                            Blobs, Tables,
                             Roles                                                 SQL Azure

                                                            Application                Multi-tenant
  Browser             Cache (optional)


                                          Load Balancer
                                                             Threads                    Database
               REST
                                                                            Asynch,
                                                            Customization    Synch         Data
               REST                                                         Transfer
                                                             Meta-Data                  Meta-Data
 Rich Client
                                                              Manager



                                                      Worker Role


                                                                                                      18
Client Tier                              Application Tier                                  Data Tier
                                JSP / Servlet,
                                                                                    Google Big Table
                                   Python

                                                                Application                Multi-tenant
  Browser             Cache (optional)


                                          Load Balancer
                                                                 Threads                    Database
               REST
                                                                                Asynch,
                                                                Customization    Synch         Data
               REST                                                             Transfer
                                                                 Meta-Data                  Meta-Data
 Rich Client
                                                                  Manager



                                                          App Engine
                                                           Services


                                                                                                          19
ā€¦and SAP?   ?

                                        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




                                                       20
Conclusions




Multi-tenancy as an Architectural Style

                                          21
22

More Related Content

What's hot

Building applications using sql azure
Building applications using sql azureBuilding applications using sql azure
Building applications using sql azure
pedrojcj
Ā 
The Art & Sience of Optimization
The Art & Sience of OptimizationThe Art & Sience of Optimization
The Art & Sience of Optimization
Hertzel Karbasi
Ā 
Enterprise Manager DBaaS
Enterprise Manager DBaaSEnterprise Manager DBaaS
Enterprise Manager DBaaS
omnidba
Ā 
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Quang Nguyį»…n BĆ”
Ā 
Microsoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Microsoft SQL Server - SQL Server 2008 R2 Editions DatasheetMicrosoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Microsoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Microsoft Private Cloud
Ā 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud
uEngine Solutions
Ā 

What's hot (19)

Denny Lee\'s Data Camp v1.0 talk on SSRS Best Practices for IT
Denny Lee\'s Data Camp v1.0 talk on SSRS Best Practices for ITDenny Lee\'s Data Camp v1.0 talk on SSRS Best Practices for IT
Denny Lee\'s Data Camp v1.0 talk on SSRS Best Practices for IT
Ā 
Anaeko A-DAS Datasheet V1.4
Anaeko A-DAS Datasheet V1.4Anaeko A-DAS Datasheet V1.4
Anaeko A-DAS Datasheet V1.4
Ā 
Data Stagev8
Data Stagev8Data Stagev8
Data Stagev8
Ā 
Ssrs introduction session 1
Ssrs introduction session 1Ssrs introduction session 1
Ssrs introduction session 1
Ā 
DB Luminous... Know Your Data
DB Luminous... Know Your DataDB Luminous... Know Your Data
DB Luminous... Know Your Data
Ā 
Building applications using sql azure
Building applications using sql azureBuilding applications using sql azure
Building applications using sql azure
Ā 
The Art & Sience of Optimization
The Art & Sience of OptimizationThe Art & Sience of Optimization
The Art & Sience of Optimization
Ā 
SNIA white paper-sw defined storage
SNIA white paper-sw defined storageSNIA white paper-sw defined storage
SNIA white paper-sw defined storage
Ā 
Challenges Management and Opportunities of Cloud DBA
Challenges Management and Opportunities of Cloud DBAChallenges Management and Opportunities of Cloud DBA
Challenges Management and Opportunities of Cloud DBA
Ā 
Service Mapping
Service Mapping Service Mapping
Service Mapping
Ā 
Enterprise Manager DBaaS
Enterprise Manager DBaaSEnterprise Manager DBaaS
Enterprise Manager DBaaS
Ā 
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
Ā 
Why you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloudWhy you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloud
Ā 
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Introduction to Business Intelligence in Microsoft SQL Server 2008 R2
Ā 
Microsoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Microsoft SQL Server - SQL Server 2008 R2 Editions DatasheetMicrosoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Microsoft SQL Server - SQL Server 2008 R2 Editions Datasheet
Ā 
Office 2010 Programming
Office 2010 ProgrammingOffice 2010 Programming
Office 2010 Programming
Ā 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud
Ā 
Task Factory - Pragmatic Works
Task Factory - Pragmatic WorksTask Factory - Pragmatic Works
Task Factory - Pragmatic Works
Ā 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
Ā 

Viewers also liked

Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Heiko Koziolek
Ā 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
Apigee | Google Cloud
Ā 

Viewers also liked (9)

[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] Enterprise Level Web Application w_ Ext JS 5
[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] Enterprise Level Web Application w_ Ext JS 5[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] Enterprise Level Web Application w_ Ext JS 5
[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] Enterprise Level Web Application w_ Ext JS 5
Ā 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Ā 
[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] BYOD - Sencha space
[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] BYOD - Sencha space[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] BYOD - Sencha space
[Sencha ģ—”ķ„°ķ”„ė¼ģ“ģ¦ˆ ģ›¹ģ• ķ”Œė¦¬ģ¼€ģ“ģ…˜ ģ„øėÆøė‚˜] BYOD - Sencha space
Ā 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
Ā 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIs
Ā 
Launching a Rocketship Off Someone Else's Back
Launching a Rocketship Off Someone Else's BackLaunching a Rocketship Off Someone Else's Back
Launching a Rocketship Off Someone Else's Back
Ā 
Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice Architecture
Ā 
Montreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern WebMontreal Girl Geeks: Building the Modern Web
Montreal Girl Geeks: Building the Modern Web
Ā 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Ā 

Similar to Towards an Architectural Style for Multi-tenant Software Applications

Summer School Delivering On-Demand Shared Middleware Services
Summer School   Delivering On-Demand Shared Middleware ServicesSummer School   Delivering On-Demand Shared Middleware Services
Summer School Delivering On-Demand Shared Middleware Services
WSO2
Ā 
E force dnw rewrite-draft-v7-080607
E force dnw rewrite-draft-v7-080607E force dnw rewrite-draft-v7-080607
E force dnw rewrite-draft-v7-080607
Debjani Roy
Ā 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
IndicThreads
Ā 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
drmarcustillett
Ā 
Data In Cloud
Data In CloudData In Cloud
Data In Cloud
rsnarayanan
Ā 

Similar to Towards an Architectural Style for Multi-tenant Software Applications (20)

SnapLogic corporate presentation
SnapLogic corporate presentationSnapLogic corporate presentation
SnapLogic corporate presentation
Ā 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
Ā 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Ā 
Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012Cloudian_Cassandra Summit 2012
Cloudian_Cassandra Summit 2012
Ā 
Summer School Delivering On-Demand Shared Middleware Services
Summer School   Delivering On-Demand Shared Middleware ServicesSummer School   Delivering On-Demand Shared Middleware Services
Summer School Delivering On-Demand Shared Middleware Services
Ā 
Engineering practices in big data storage and processing
Engineering practices in big data storage and processingEngineering practices in big data storage and processing
Engineering practices in big data storage and processing
Ā 
Software Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud ProvisioningSoftware Architecture Definition for On-demand Cloud Provisioning
Software Architecture Definition for On-demand Cloud Provisioning
Ā 
SQL Server Reporting Services: IT Best Practices
SQL Server Reporting Services: IT Best PracticesSQL Server Reporting Services: IT Best Practices
SQL Server Reporting Services: IT Best Practices
Ā 
E force dnw rewrite-draft-v7-080607
E force dnw rewrite-draft-v7-080607E force dnw rewrite-draft-v7-080607
E force dnw rewrite-draft-v7-080607
Ā 
The Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingThe Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud Computing
Ā 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Ā 
Cloudian at cassandra conference in tokyo
Cloudian at cassandra conference in tokyoCloudian at cassandra conference in tokyo
Cloudian at cassandra conference in tokyo
Ā 
QuƩ hay de nuevo en sql azure
QuƩ hay de nuevo en sql azureQuƩ hay de nuevo en sql azure
QuƩ hay de nuevo en sql azure
Ā 
Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010
Ā 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
Ā 
Data In Cloud
Data In CloudData In Cloud
Data In Cloud
Ā 
Rackwise DCM
Rackwise DCMRackwise DCM
Rackwise DCM
Ā 
ModernizaciĆ³n del manejo de datos con v fabric
ModernizaciĆ³n del manejo de datos con v fabricModernizaciĆ³n del manejo de datos con v fabric
ModernizaciĆ³n del manejo de datos con v fabric
Ā 
eBay From Ground Level to the Clouds
eBay From Ground Level to the CloudseBay From Ground Level to the Clouds
eBay From Ground Level to the Clouds
Ā 
SwiftKnowledge Multitenancy
SwiftKnowledge MultitenancySwiftKnowledge Multitenancy
SwiftKnowledge Multitenancy
Ā 

More from Heiko Koziolek

Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
Heiko Koziolek
Ā 
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
Heiko Koziolek
Ā 
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
Heiko Koziolek
Ā 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Heiko Koziolek
Ā 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Heiko Koziolek
Ā 

More from Heiko Koziolek (20)

Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Ā 
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Ā 
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsOpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
Ā 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
Ā 
Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT Systems
Ā 
IoT challenges for Smart Manufacturing
IoT challenges for Smart ManufacturingIoT challenges for Smart Manufacturing
IoT challenges for Smart Manufacturing
Ā 
Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"
Ā 
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin ShellsPlug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Ā 
6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB
Ā 
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Ā 
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability AnalysisMORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
Ā 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
Ā 
2011 05-27-icse
2011 05-27-icse2011 05-27-icse
2011 05-27-icse
Ā 
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
Ā 
Towards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software SystemsTowards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software Systems
Ā 
Q-ImPrESS
Q-ImPrESSQ-ImPrESS
Q-ImPrESS
Ā 
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
Ā 
PerOpteryx
PerOpteryxPerOpteryx
PerOpteryx
Ā 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Ā 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Ā 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(ā˜Žļø+971_581248768%)**%*]'#abortion pills for sale in dubai@
Ā 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
Ā 

Recently uploaded (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Ā 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Ā 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Ā 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Ā 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Ā 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Ā 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
Ā 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
Ā 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Ā 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Ā 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Ā 

Towards an Architectural Style for Multi-tenant Software Applications

  • 1. Towards an Architectural Style for Multi-tenant Software Systems Dr.-Ing. Heiko Koziolek Industrial Software Systems ABB Corporate Research 1
  • 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 3
  • 4. Single-Tenancy Multi-Tenancy Tenant1 Tenant2 Tenant3 Tenant1 Tenant2 Tenant3 App App App App Database Database Database Database OS OS OS OS Hardware Hardware Hardware Hardware 4
  • 5. Challenges Lack of Ad-hoc Technology Documentation Solutions Focus 5
  • 6. Architectural Styles An architectural /style is a coordinated set of ļ‚§ Client Server ļ‚§ Blackboard architectural constraints that restricts ļ‚§ Pipe-and-Filter ļ‚§ C2 the roles / features of architectural elements and the ļ‚§ Peer-to-Peer allowed relationshipsREST (WWW) ļ‚§ among those elements within any architecture that conforms to that style. ļ‚§ Mobile Code ļ‚§ SPIAR (AJAX) [Fielding2000] Idea: Multi-tenancy Style 6
  • 7. Resource Sharing Elasticity Architectural Architectural Properties Properties Maintainability Customizability 7
  • 8. SPOSAD Style for Multi-Tenancy Client Tier Application Tier Data Tier Application Multi-tenant Browser Cache (optional) Load Balancer Threads Database REST Asynch, Customization Synch Data REST Transfer Meta-Data Meta-Data Rich Client Manager 8
  • 9. SPOSAD Style for Multi-Tenancy Client Tier Application Tier Data Tier Elasticity Maintainability Application Multi-tenant Browser Cache (optional) Load Balancer Threads Database REST Asynch, Customization Synch Data REST Transfer Meta-Data Meta-Data Rich Client Manager Customizability Resource Sharing 9
  • 10. Multi-tenant Database Private Table Layout Extension Table Layout Universal Table Layout 10
  • 11. Multi-tenant Database Private Table Layout Extension Table Layout Universal Table Layout Account27 AID Name Robot Speed Account33 1 ABC X 20 AID Name 2 DEF Y 50 1 GHI Account46 AID Name Lines 1 JKM 12 11
  • 12. Multi-tenant Database Private Table Layout Extension Table Layout Universal Table Layout Industrial-Account Tenant ID Row Robot Speed Account-Extension 27 0 X 20 Tenant ID Row AID Name 27 1 Y 50 27 0 1 ABC 27 1 2 DEF Telecommunication-Account 33 0 1 GHI Tenant ID Row Lines 46 0 1 JKM 46 0 12 12
  • 13. Multi-tenant Database Private Table Layout Extension Table Layout Universal 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 - - - 13
  • 14. Shared Single Code Base Architectural Architectural Data Resources Constraints Properties STATE Customization Component Stateless Application Tier 14
  • 15. Architectural Trade-offs Resource Sharing vs. Security / Availability Complexity vs. Time to market Customizability vs. Maintainability 15
  • 17. Client Tier Application Tier Data Tier Virtual Application Customized Components Oracle RAC Application Multi-tenant Browser Cache (optional) Load Balancer Threads Database REST Asynch, Customization Synch Data REST Transfer Meta-Data Meta-Data Rich Client Manager Universal Table Runtime Engine Layout 17
  • 18. Client Tier Application Tier Data Tier Web / Worker Blobs, Tables, Roles SQL Azure Application Multi-tenant Browser Cache (optional) Load Balancer Threads Database REST Asynch, Customization Synch Data REST Transfer Meta-Data Meta-Data Rich Client Manager Worker Role 18
  • 19. Client Tier Application Tier Data Tier JSP / Servlet, Google Big Table Python Application Multi-tenant Browser Cache (optional) Load Balancer Threads Database REST Asynch, Customization Synch Data REST Transfer Meta-Data Meta-Data Rich Client Manager App Engine Services 19
  • 20. ā€¦and SAP? ? 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 20
  • 21. Conclusions Multi-tenancy as an Architectural Style 21
  • 22. 22

Editor's Notes

  1. Salesforce-Amerikanische Silicon Valley FirmaEiner der berĆ¼hmtestenSoftware as a Service providerCustomerRelationship SoftwareUmsatz 2009: 1 Mrd US$, 47000 Kunden, Ć¼ber 1.1 Mio Benutzer, auf angeblich weniger als 1000 ServernKunden: z.B. Deutsche Bank, Allianz VersicherungSalesforce.com zƤhlt zu den am schnellsten wachsenden Technologieunternehmen weltweit. Laut Forbes wƤchst nur Google schneller (Stand: Januar 2008).Technisch beeindruckend: hohe Skalierbarkeit, steigende Anzahl an Transaktion: mehr als 14 MrdTransaction pro Quartalsinkende Antwortzeiten: weniger als Viertelsekunde mittlere Antwortzeit pro ausgelieferter Seite
  2. SAP Business By DesignVoll integrierte Enterprise ResourcePlanning Lƶsung fĆ¼r kleine und mittelstƤndische Unternehmen in einer gehostetenSaaS LƶsungEntwicklung seit 2003, angekĆ¼ndigt 2007 fĆ¼r 2008, 2010 noch nicht voll ausgerolltGerĆ¼chte: Entwicklungskosten bei Ć¼ber 500 Mio EuroKlemmt:-"Das System hat noch nicht die erforderliche Performance und hat noch zu viele Aussetzer", zitiert die Zeitung einen SAP-Entwickler. Es mĆ¼sse noch viel zu viel aufwendig nachjustiert werden.- massive Performance-Probleme in der frĆ¼herern Entwicklung, unterstĆ¼tzte nur 10 Benutzer pro ServerVerkaufsstopp?- UrsprĆ¼nglich hatte man in Walldorf mit 10,000 zahlenden Kunden bis zum Jahr 2010 kalkuliert, doch derzeit scheint es davon noch keine 100 zu geben.Ā -SAP sei mit seinen Diensten einfach zu teuer, und auƟerdem gebe es speziell bei MittelstƤndlern anhaltende Ƅngste, ihre wertvollen GeschƤftsdaten einem Software-Dienstleister auƟerhalb ihrer Kontrolle anzuvertrauen. Die Probleme von Business by Design haben verschiedene Ursachen. Meiner Meinung nach ist eine dieser Ursachen, dass SAP auf eine single-tenant Architektur und nicht auf eine multi-tenant Architektur gesetzt hat
  3. Tenant = Organization, Unternehmen mit Mitarbeitern als BenutzerMTEine applikation / eine Code Basis, zentrale Updates/Patches, spezielle Vorrichtungen fĆ¼r Kundenspezifische AnforderungenEine DB, geteilte Schemata, gemeinsame TabellenEin OSEine Hardware, verteilt, LastverteilungSkalierbarkeit durch Lastverteilung auf Cluster, spezielle Datenbankabfragen, wenig overheads, minimum an mehrfach Vorhandenen RessourcenST- Angepasste Applikation pro Kunde (Firma)DB pro Kunde Viele OS LizenzenServer pro KundeVorteil Sicherheit, Nachteil: Skalierbarkeit, schwierig sich an Lastspitzen anzupassen
  4. Was ist also das Problem? Die Herausforderung?Documentation:Kein Handbuch fĆ¼r Multi-tenancyarchitekturen, keine BĆ¼cherKaum wissenschaftlich LiteraturDas Umsetzen von Multi-tenancy wird weitlƤufig noch als Wettbewerbsvorteil gesehen und daher verschleiertKonstruktion schwierig, ohne Hilfestellung/Doku sehr teuerAd-hoc SolutionsTry-and-error Prinzip, kein Erfahrungsschatz, Wissen wird von Unternehmen nicht weitergeben Wacklige LƶsungenArchitekten kƶnnen trade-offs (Zielkonflikte) nur schwierig einschƤtzenTechnologieGuides fĆ¼r Microsoft-Produkte und SaaS, Guides von IBM fĆ¼r Java Produkte und SaaSHƶhere Abstraktion fehltArchitekturkonzepte nicht formal und technologie-unabhƤngig dokumentiert
  5. Jetzt die Lƶsungidee, mein Ansatz!Was kƶnnte die Lƶsung sein?Fielding, REST, WWW, 2000: Ein Architekturstil ist eine koordinierte Menge von architektonischen Bedingungen / EinschrƤnkungen, die die Rolle der Architekturelement und deren Beziehungen zu einander einschrƤnken.Beispiele: Client-Server, der Server arbeitet nur auf Anfrage, verschickt keine eigenen AnfragenPipe-and-Filter: es gibt keinen Zwischenspeicher, alle Informationen fĆ¼r die Berechnungen werden zwischen den Komponenten weitergereichtUsw.Modernere Stile sind REST fĆ¼r das WWW und SPIAR for AJAX AnwendungenDie Idee ist nun, Multi-tenancy in diese Liste einzureihen und explizit als Architektur Stil zu dokumentieren.Dokumentationsschema nach Perry und Wolf: Komponenten, Konnektoren, Daten Elemente und constraints auf diesen Elementen
  6. ArchitecturalProperties = Ziele, kƶnnen auch als Anforderungen verstanden werden,Hier 4 der wichtigsten:ResourceSharing:Mƶglichst viel Hardware und Software soll gemeinsam genutzt werdeVerhindert die Verschwendung von Ressource, kompliziert aber Isolation von ClientsBeispiele: -Kosteneinsparung fĆ¼r Datenbankadministration durch gemeinsame Datenbanken-Speichereinsparung durch nicht-dedizierte ServerElasticity:Hier kƶnnte auch Scalability stehen, also die FƤhigkeit mit wachsender Anfragelast zurecht zukommen (siehe Salesforcefolie)Elasticity schlieƟt auch das Stoppen von Servern mit ein wenn die Anfragelast sinkt, daher werden die Ressourcen am effektivsten genutztWichtig fĆ¼r MT systeme wegen der hohen Anzahl an Tenants und der potentziell sehr groƟen Anfragelast mit LastspitzenMaintainability:Einsparung von Wartungskosten durch eine einzelne Anwendung und Codebasis fĆ¼r alle TenantsBugs mĆ¼ssen nur einmal behoben werdenBugfixes mĆ¼ssen nur einmal eingespielt werden, es mĆ¼ssen keine Fixes von Kunden installiert werden, dies erfolg zentralCustomizability:-bei nur einer geteilten Anwendung: Anpassungen an eigene GeschƤftprozesse und Datenmodelle notwendig-Kunden geben sich nicht mit Standardlƶsungen zufrieden
  7. SPOSAD steht fĆ¼r Shared, Polymorphic, ScalableApplication and Data- Hier jetzt Teil der Lƶsung, high-level Ansicht der Komponenten und Connectoren die in diesem Stil zum Einsatz kommenBasiert auf multi-tierarchitektur: clienttier, evtl. presentationtier, applicationtier, datatierClient: Web Browser (Internet Explorer), Rich Client (Eclipse RCP)Synchrone REST Kommunikation mit ApplicationtierOptionale Cache, Lastverteiler fĆ¼r meherer Server ApplicationThreads, stellen PrƤsentation und Business Logic bereit, basieren auf gleichem Code sind aber fĆ¼r verschiedene Tenants Ć¼ber Metadata anpassbarMeta-Data Manager verwaltet Meta-Daten (z.B. proprietƤre Datenfelder, GUI, Workflows, Forms, usw.) und passt den Applikationscode anMulti-tenant Datenbank, gemeinsam genutzt von allen Tenants, EnthƤlt Daten (Kundennr, Konto, usw.) und Meta-daten (Datentypen, proprietƤre Erweiterungen)Asynchrone KommunikationAndere Sichten hier nicht gezeigt, Virtualisierung kann drunterliegenErstmal nur highlevel, man kann die einzelnen Komponenten noch aufschlĆ¼sseln und die Kommunikationsbeziehungen detailierter beschreibenWie bilden sich nun die gewĆ¼nschten Architektureigenschaften ab?
  8. ResourceSharing vor allem in der Datenbank aber auch in der Infrastruktur (App Container, VM, OS, Hardware)Elasticity z.B. durch LoadBalancer, die auto-scaling unterstĆ¼tzen also auch downgraden.Maintainbility durch gemeinsame Code-basis der ApplicationThreads, nur einmalige Wartung notwendingCustomizability durch Meta-data Manager, der tenant-spezfischen Anpassungen durchfĆ¼hren kannDatenbank im folgenden noch mal genauer, verschieden Schemata zum ResourceSharing mƶglich
  9. VorherComponent&connectorView, jetzt Information View, wie sind die Daten strukturiert
  10. Jeder Tenant bekommt seine eigenen Tabellen mit mƶglicherweise eigenen Datenfeldern 27, 33, 46 sind die TenantidsVorteil: keine komplizierten Joins notwendig, einfach zu implementierenNachteil: Overhead fĆ¼r die Erstellung und Verwaltung von vielen kleinen Tabellen bei groƟer Anzahl von Tenants
  11. Gemeinsame Daten werden in einer groƟen Tabelle gehalten fĆ¼r alle TenantsTenant-spezifische Erweiterungen Ć¼ber eigene TabellenVorteil: weniger Tabellen, weniger OverheadNachteil: mƶglicherweise aufwƤndige, ineffiziente Joins um die Daten zu rekonstuieren
  12. -Daten aller Tenants in einer einzigen Tabelle, Spalten im Varchar Datentyp fĆ¼r beliebige Erweiterungen-Vorteil: sehr geringer Verwaltungs- und Speicheroverhead-Nachteil: Rekonstruktion der Datentypen, Backups, Rowlevelaccesscontrolusw-> keine one-size-fitsit all Lƶsung, jedoch ist das Universal Table Layout dasjenige mit dem meisten ResourceSharing- Wird so von force.com genutzt, eine Tabelle mit 500 variablen Spalten fĆ¼r alle 50000 tenants, spezielle Query-Optimierungs Routinen
  13. Nach der Definition von Fielding zeichnen vor allem die EinschrƤnkungen einen Stil ausHier 4 der wichtigsten EinschrƤnkungenNur eine Code-Basis fĆ¼r alle Tenants: Einsparung von Wartungskosten, mehrere Codebasen angepasst fĆ¼r individuelle Tenants/Clients sind nicht zulƤssingGemeinsame Datenressourcen: keine eigenen Datenbanken pro Tenant zur Einsparung von OverheadsEs gibt eine Komponente zur Anpassung der Applikation an Kundenanforderungen: keine StandardapplikationKein client-spezifischer Zustand darf im Application Tier gehalten werden: Erhƶht die Skalierbarkeit, keine Wartezeiten fĆ¼r ApplikationsthreadssEvaluation schwierig. Es mĆ¼ssten erste Applikationen nach dem Stil gebaut werden und dann getestet werden, ob sie die angestrebten Architektureigenschaften erfĆ¼llenAuch der Aufwand fĆ¼r die Entwicklung auf Basis des Stils mĆ¼sste mit einer Ad-hoc Entwicklung verglichen werdenDas ist bisher auch fĆ¼r andere Stile nicht gemacht worden.- Hier nur sehr eingeschrƤnkte Form der Evaluierung: Vergleich der Architekturkonzepte mit den Konzepten der neuen PaaS Plattformen
  14. Force.com basiert auf der Salesforce Infrastruktur, lƤsst es zu dort eigene Applikationen zu erstellenWindows Azure ist Microsofts Antwort auf Cloud computing, viele MS technologien, .NET, basiert auf Windows Server 2008Google AppEngine: Java und Python Welt
  15. Die Idee ist MT als Architekturstil zu dokumentierenVorteileLeichtere Entwicklung fĆ¼r zukĆ¼nftige Projekte, schrƤnkt den Entwurfsraum einKosteneinsparungen durch weniger Try-and-errorIngenieursmƤƟiger Ansatz, best PracticesTechnologieagnostik, keine Spezifika von .NET oder Enterprise Java, Fokus auf ArchitekturkonzepteQuantifizierung und Konkretisierung von Trade-offs, ZielkonfliktenFuture Work: stilbeschreibung verfeinern, detaillieren, Evaluation verbessern, SaaSapplikationen untersuchen