Efficient Customization of Multi-tenant SaaS Applications with Service Lines

53
Capita Selecta: Efficient Customization of Multi- tenant SaaS Applications with Service Lines Maarten Christiaen Niels Claeys

description

The presentation illustrates how multi-tenant SAAS applications can be customized to achieve variability between tenants.

Transcript of Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Page 1: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Capita Selecta: Efficient Customization of Multi-tenant SaaS

Applications with Service Lines

Maarten ChristiaenNiels Claeys

Page 2: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

2

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 3: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: SaaS

• Cloud service model:-> Delivering software services online (e.g. over the internet) and on-demand to tenants-> The application is hosted by the SaaS provider• Tenant = An organisation that configures the application for its customers

3

Page 4: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: Multi-tenant SaaS

• Multi-tenant: -> sharing of resources among a group of tenants• Customization:-> Satisfying different requirements of tenants-> No one-size-fits-all approach

4

Page 5: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: Multi-tenant SaaS

5

Page 6: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: SPL

• Software engineering methodology• Collection of similar products• Incorporates variability:-> Reusability between products• Two steps:

•Domain engineering•Application engineering

6

Page 7: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: SPL

7

Page 8: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Context: SPL & Multi-tenant SaaS

8

• SPL provides:• Only static composition• One dedicated product instance per customer

=> Not sufficient for Multi-tenant SaaS

Page 9: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

9

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 10: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

10

• Dynamically customizable SPL• Feature-based approach:-> model application as collection of distinct functional or non functional characteristic of a software system• Entire service line is deployed-> shared among tenants

Page 11: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

11

Page 12: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

12

Page 13: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

13

Page 14: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Domain analysis

14

• Result is feature model• Difference with SPL:

• Includes non-functional requirements• Versioning of features

Page 15: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Domain analysis

15

Page 16: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

16

Page 17: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Architectural Design & impl

• Customization based on variation points:-> Plug-in compositions dynamically• Features are implemented as a composition of components-> difficult for non-functional requirements• Compatible features => stable interfaces

17

Page 18: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Architectural Design & impl

18

Page 19: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

19

Page 20: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Deployment & Operation

• SaaS middleware platform• Versioning support• Gradual roll-out of upgrades• Multi-tenancy support• Support for dynamic composition• Support for service line management

20

Page 21: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Deployment & Operation

21

Page 22: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

22

Page 23: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Requirements Analysis

• Each tenant selects a comprehensive list of features for his application• Automatic verification based on feature model• Mapping of tenant and his configuration

23

Page 24: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

24

Page 25: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Configuration Mapping

• Automated transformation of feature configuration to software configuration

• Using feature-to-composition mapping• Defines variants bound to each variation point• Immediately effective in service line

• Tenants-specific software configurations co-exist in running service line

25

Page 26: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Service Line Engineering

26

Page 27: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

SLE: Configuration Activation

• On per-request basis• Dynamically activate tenant-specific configuration

27

Page 28: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Evaluation proof-of-concept

• More effort in initial development phase• Variability analysis• Mappings for each feature

• Less effort to provision clients• Self-service of features• Automatic configuration

• Beneficial for evolution and maintenance• Scalability depends on #features and not on #tenants

28

Page 29: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

29

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 30: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Introduction

•The application provides the necessary functionality for building and hosting websites

•Intuitive point and click creation•Different functional and non functional requirements•Aimed at small business without IT knowledge

30

Page 31: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Feature model

31

Page 32: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Use Cases

32

•Sharing economy service (Airbnb, Uber, …)•Marketplace•ScreenSize: All sizes•InternalPaymentService•Scalability on•Availability back-end and front-end premium•Social and sms integration

Page 33: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Feature model

33

Page 34: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Use Cases

34

•Shop (clothing, wine, appliances, …)•MailService•Analytics•Screensize: large•Scalability off•Payment external•Webshop•No integration

Page 35: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Feature model

35

Page 36: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Use Cases

36

•Company information site•Front-end available but not back-end•Mailservice•ScreenSize large•Scalability off

Page 37: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Illustration: Feature model

37

Page 38: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

38

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 39: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Related work: Dynamic software adaptation for SOPL

39

+ Dynamic adaptation based on QoS

+ Hierarchical replacement

+ Reuse: SOA architecture patterns

- Multi-tenancy- No coexisting

configurations- Variability is focused on

one product- No quantifiable results

Page 40: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Related work: Dynamic software adaptation for SOPL

40

•Context-aware adaptation•Monitoring service•Triggers based on threshold•Dynamic adaptation

•Use case•Availability monitoring•Failing machines trigger degradation mode

Page 41: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Related work: Context awareness for dynamic SOPL

41

+ Automatic reconfiguration at runtime

+ Separate application from platform specifics

- Case study- Code generation

→ maintenance hard- No quantifiable results- No multi-tenancy- No coexisting

configurations - No hierarchically replace

components

Page 42: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

42

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 43: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Critical analysis: paper Walraven

- No combination of variants- Non functionals not addressed completely

43

+ Middleware services• Multi-tenancy• Versioning• Dynamic composition

+ Focus on variability• Multiple levels

+ Scalable configuration management

• Self-service•Automatic control

+Case study

Page 44: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Availability: paper Walraven

44

• Efforts to minimize downtime• Versioning• Gradual roll-out of updates• Runtime adaptation• Stateless services

• SLA support for features

Page 45: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

45

Overview1. Context

2. Walraven summary

3. Illustration

4. Related work

5. Critical analysis

6. Quantitative evaluation

Page 46: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

46

+ Complete set of scenarios

+ Necessary parameters included

- No quantifiable results- Limited scope

- No comparison with other costs (e.g. design)

- Lines of code measure

Quantitative evaluation: assessment

Page 47: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Quantitative evaluation: proposals

• Include migration costs-> more convincing argument• Specify relative importance of scenarios• Compare gain in configuration costs to the additional design effort for SLE

47

Page 48: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Questions?

Page 49: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Extra1

49

Page 50: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Extra1

50

Page 51: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Extra1

51

Page 52: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Extra2

52

Page 53: Efficient Customization of Multi-tenant SaaS Applications with Service Lines

Extra2

53