Abstract

In SaaS applications, which are mainly built following a multi-tenant architecture, the support of service variability among tenants is limited. It is due to the principle of sharing the same instance of the SaaS service between the tenants; thus, the particularities of each tenant's needs are not considered. Having to customize and adapt a SaaS service to tenants' needs and their specific contexts, while maintaining multi-tenancy, has emerged as a persisting challenge. The SaaS service adaptation has not only to be according to the functional requirements of the different tenants, but it has also to cope with the non-functional requirements in their various levels that are subject to change in time and space: i.e. within the same tenant and between tenants, respectively. For example, a tenant can just require minimal security level as it needs solely to be authenticated and has no other security concerns; while another may require a high security level and advanced and supplementary security mechanisms such as access control and encryption. There are also situations when the same tenant changes its desired quality level through time; for instance, when there is an increase of service requests in a critical period, the tenant may want to decrease the response time and to increase the uptime value in order to smoothly perform his requests. Therefore, the application needs to be adapted dynamically in order to meet every tenant's quality requirements as if he is the only one to consume the service.Software Product Lines Engineering (SPLE) has largely tackled the variability management field in the literature. It enables high reusability in shorter time, at lower costs and with higher quality by creating product families or lines that share commonalities and have variation points. The derivation of the final product is performed at the level of those variation points while considering the inter-and intra- dependencies between the artifacts of a product line.Our proposed approach is based on the SPLE principles to build SaaS services tailored to tenant-specific Service Level Agreements (SLAs). We defined the Domain Engineering phase to build SLA families. Based on domain analysis, the non-functional requirements of the tenants, their commonalities, variation points and variants are captured and modeled. A Generic SLA is generated which contains the terms and the Service Level Objectives (SLOs) of all the contracting tenants. From this Generic SLA, the proposed middleware generates core and tenant-specific policies. The Configurator, a middleware component, adapts the application according to these defined policies based on annotations in the form of key-value pairs.As contributions of our article [1]: we proposed the architecture of the proposed middleware and its different components; we defined the Policy metamodel, that models policies retrieved from the Generic SLA as annotations, and described the model-to-model transformations from VariableSLA metamodel to Policy metamodel; and we proposeed a Configurator metamodel that models and describes how the Configurator component of the middleware configures the SaaS service.Our approach differs from the literature in that it enables building a family of SLAs: a generic SLA and tenant-specific policies; linking, thus, the non-functional variability with the SLA. Moreover, it is not limited to a specific quality attribute but supports any quality attribute expressed in the SLA. It allows configurations at design time and at runtime through annotating the SaaS service components with adequate quality levels.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.