efficient customization of multi-tenant saas applications with service lines
DESCRIPTION
The presentation illustrates how multi-tenant SAAS applications can be customized to achieve variability between tenants.TRANSCRIPT
![Page 1: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/5.jpg)
Context: Multi-tenant SaaS
5
![Page 6: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/7.jpg)
Context: SPL
7
![Page 8: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/11.jpg)
Service Line Engineering
11
![Page 12: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/12.jpg)
Service Line Engineering
12
![Page 13: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/13.jpg)
Service Line Engineering
13
![Page 14: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/15.jpg)
SLE: Domain analysis
15
![Page 16: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/16.jpg)
Service Line Engineering
16
![Page 17: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/18.jpg)
SLE: Architectural Design & impl
18
![Page 19: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/19.jpg)
Service Line Engineering
19
![Page 20: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/21.jpg)
SLE: Deployment & Operation
21
![Page 22: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/22.jpg)
Service Line Engineering
22
![Page 23: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/24.jpg)
Service Line Engineering
24
![Page 25: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/26.jpg)
Service Line Engineering
26
![Page 27: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/31.jpg)
Illustration: Feature model
31
![Page 32: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/33.jpg)
Illustration: Feature model
33
![Page 34: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/35.jpg)
Illustration: Feature model
35
![Page 36: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/37.jpg)
Illustration: Feature model
37
![Page 38: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/48.jpg)
Questions?
![Page 49: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/49.jpg)
Extra1
49
![Page 50: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/50.jpg)
Extra1
50
![Page 51: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/51.jpg)
Extra1
51
![Page 52: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/52.jpg)
Extra2
52
![Page 53: Efficient Customization of Multi-tenant SaaS Applications with Service Lines](https://reader033.vdocuments.mx/reader033/viewer/2022052904/557cf946d8b42a57118b4c37/html5/thumbnails/53.jpg)
Extra2
53