Support Mechanisms for Cloud Configuration Using XML Filtering Techniques: A Case Study in SaaS

Yang Cao,Chung-Horng Lung,Samuel A. Ajila,Xiaolin Li
DOI: https://doi.org/10.1016/j.future.2018.12.025
2019-01-01
Abstract:Software-as-a-service (SaaS) has attracted substantial attention as a software delivery and service model in a cloud computing environment. SaaS delivery can help organizations significantly reduce the cost of using software, because the resources for running SaaS applications are shared among tenants (end users or organizations). However, multi-tenancy can considerably complicate SaaS development, deployment, and maintenance as a result of a large number of co-existing tenant-specific constraints or features. Manually configuring and maintaining tenant-specific features will increase the cost, introduce possible errors, and limit scalability and flexibility. The paper addresses the problem of large variations and complex configurations. Specifically, the objective is to develop mechanisms to support automatic multi-tenant software features analysis and matching for the purposes of efficient deployment and operations in the cloud. The emphasis of this paper is on the matching between the tenant-specific requirements and the SaaS features managed by the cloud provider. This paper proposes a novel approach for cloud feature matching using XML filtering techniques to support the process of multi-tenant SaaS deployment and management. Feature modeling has been widely used to capture requirements and constraints. On the other hand, XML filtering techniques are mature and have been adopted in various problem domains. We used Yfilter, a proven and XML filtering technique, to support two multi-tenant applications: (i) Identifying SaaS configurations (in XPath representations) that satisfy tenant-specific requirements and constraints (in XML notation); and (ii) Identifying tenants that have subscribed to a specific set of SaaS features. The applications can effectively facilitate SaaS subsequent management and operations due to various changes, e.g., functionalities, constraints, cost, etc. The experimental results demonstrate that the proposed approach can automatically and correctly identify cloud system configurations that match tenant-specific requirements or identify the group of tenants that have subscribed to a particular set of cloud features. In addition, the execution time of our proposed approach is only a small fraction compared to the existing approach using the formal method, e.g., FaMa, and the configuration space is also much smaller.
What problem does this paper attempt to address?