Support mechanisms for cloud configuration using XML filtering techniques: A case study in SaaS

https://doi.org/10.1016/j.future.2018.12.025Get rights and content

Highlights

  • Multi-tenancy can considerably complicate SaaS management and deployment.

  • Formal methods used for multi-tenancy configuration management is complicated.

  • XML filtering methods have been used for information dissemination.

  • Yfilter XML filtering method to support SaaS configuration management is described.

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.

Introduction

Cloud computing consists of on-demand computing services with shared-access of configurable resources. There are three main cloud services: infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS). In addition, there are three common cloud deployment models: public, private, and hybrid. Cloud computing provides elastic services with lower cost in a pay-per-use model. Cloud services share similarities with Web services, but there are also distinct challenges that need to be addressed for cloud services exclusively [1]. Cloud services can be used by individual users or multiple tenants, where a tenant could be an organization with a group of users sharing the same software system.

Multi-tenancy is an emerging technique that enables the cloud providers to achieve a large scale of resource sharing. Multi-tenancy can be realized for IaaS, PaaS, or SaaS. This paper presents a generic framework that can be used to support cloud service operations and management. This research, however, does not address actual deployment. Our approach has been applied to case studies in SaaS. Users subscribed to SaaS can access applications over the Internet on subscription basis. Concrete examples include email, customer relationship platform (CRM) to support management of sales, marketing, etc., in a central location [2], and a weather system [3].

The problems associated with developing, deploying, and maintaining cloud computing, particularly multi-tenancy, are primarily caused by resource sharing, a large number of possible configurations [4], [5], [6], and various constraints such as cloud type or location. For SaaS, typically, a pre-packaged and configurable system [7] is provided to tenants, rather than the traditional on the premise model. In addition, there are difficulties of managing the tradeoffs over various non-functional requirements, such as performance, security, privacy, availability, and cost. As a result, the development of a multi-tenant application is much more difficult than the development of a single tenant application [6], [7]. It is impractical to rely on tenants to make decisions on partitioning their applications and selecting appropriate configurations that satisfy tenant-specific requirements, constraints, and preferences. And, doing it manually is time consuming and error prone even for the professionals (e.g. cloud service providers), especially when the configuration space and the number of tenants is large. Formal methods, e.g., [8], [9], [10], have been proposed to solve the problem. However, formal methods typically are limited to small scale and the processing time usually is high.

The objective of this paper is to address the problem of large variations and complex configurations [5], [11], [12]. Particularly, the goal is to develop mechanisms to support automatic multi-tenant software features analysis and matching for efficient deployment and operations in the cloud. The focus of this paper is on the matching between the tenant-specific requirements and the SaaS features managed by the cloud provider. The importance of automatic matching between tenant-specific requirements and SaaS features cannot be over emphasized. To the best of our knowledge, there is little research reported in the literature to facilitate automatic matching between desirable tenant-specific configurations and SaaS features.

In our previous work [13], we presented the preliminary idea to support matching of SaaS features with features requested by multiple tenants using Yfilter [14]. Yfilter has been systematically evaluated in various applications in the open source community. Further, Yfilter is scalable to a very large number, e.g., 50,000 queries which are equivalent to features in our problem. In this paper we extend the scope to identify the group of tenants that have subscribed to a particular set of cloud features and more experiments for further validation and analysis using a larger set of features. In addition, a thorough analysis of the technical concepts is presented.

The main contributions of this paper are summarized as follows:

  • The introduction of a reference framework used for constraint-based multi-tenant feature management with focus on SaaS.

  • The novel application of XML-based techniques for cloud services, including (i) encoding the feature models for the SaaS system and tenant-specific requirements or preferences with XPath representations [15], and (ii) the application of Yfilter [14] technique to achieve three things:

    • Automatic selection of SaaS features from a possible large set of options and complex constraints that meet a tenant’s requirements. This step can help feature based configuration for each tenant and can be used for potential further deployment.

    • Automatic identification of tenants that have subscribed to a set of SaaS features. This step can be used if some SaaS features or associated business policies are updated.

    • Reduction in the amount of configuration space and the computation time.

The rest of this paper is organized as follows. Section 2 describes related work. Section 3 presents an overview of the proposed reference framework. Section 4 describes the automatic matching for multi-tenant feature configurations using the XML-based filtering techniques. Section 5 illustrates case studies based on the proposed approach. Section 6 describes the tool used in the experiments and case studies. Finally, Section 7 concludes the paper and discusses some future research directions.

Section snippets

Related work

This section describes three related research areas: feature modeling, existing research on multi-tenant software systems, and techniques in XML that are related to our research. A discussion and summary of those techniques that are related to our research is presented at the end.

Constraint-based cloud deployment framework

This section presents an overview of our constraint-based multi-tenant approach for supporting cloud deployment. The framework is a modification of the method presented in [6]. Contrary to their approach, our framework is generic and applicable to the three types of cloud services (i.e., IaaS, PaaS, and SaaS). In addition, our framework is not geared towards application services as is the case of their approach; instead, our proposed approach is designed to be used to support the deployment and

Automatic XML-based matching

This section presents a summary of an XML-based matching technique in support of SaaS configuration. The approach consists of five steps:

  • 1.

    Perform feature modeling for the SaaS system

  • 2.

    Encode SaaS features with XPath representations

  • 3.

    Perform tenant-specific feature modeling

  • 4.

    Encode the tenant-specific features with XML

  • 5.

    Perform XML filtering and matching operation with Yfilter. The filtering and matching operation can be used for two different types of applications:

    • a.

      Type I: Identify the matched SaaS

Case studies

We have conducted experiments using our proposed approach on a subset of features for Amazon EC2 service [63] and Salesforce.com CRM system [2]. The first case study illustrates the Type I application. The second case study is a variation of the first one and it shows that specific constraints can be considered with the proposed XML matching technique. Examples of constraints include identification of a cloud provider that supports certain features, public versus private clouds, or specific

Tool support

XPath is the required format to represent queries (or features in our problem) for Yfilter. We adopt feature diagrams in the requirements management stage for an SaaS system. Hence, there is a need to convert feature diagrams to XPath representations in order to use Yfilter. This section first describes the tool we have developed and used to validate our proposed approach to the matching problem for multi-tenant SaaS systems. Following that, we describe case studies to demonstrate how those

Conclusions and future work

Multi-tenant SaaS applications are emerging primarily due to the cost reduction through resource sharing. One of the challenges for multi-tenant SaaS systems is the rapid growing co-existing configurations across multiple tenants. In addition, multiple tenants can have diverse sets of features and constraints, including layout style, general configuration, file I/O, and workflow [6]. Currently, there is still a lack of methodical support for the development of emerging multi-tenant applications

Acknowledgment

This project was partially sponsored by Natural Sciences and Engineering Research Council of Canada (NSERC) .

Yang Cao received the B.S. and M.S. degrees in Computer Science and Engineering from Northeastern University, Shenyang, China and the Ph.D. degree in Computer Science from Carleton University, Ottawa, Canada. She worked as Postdoc in University of Illinois Urbana-Champaign from 2015 to 2017. She is working in Microsoft Beijing as a Software Engineer in the big data and AI platform team.

References (67)

  • HellandP.

    Condos and clouds

    Commun. ACM

    (2013)
  • BenavidesD. et al.

    FAMA: Tooling a framework for the automated analysis of feature models

  • HajlaouiJ.E. et al.

    A QoS-aware approach for discovering and selecting configurable IaaS cloud services

    Int. J. Comput. Syst. Sci. Eng.

    (2017)
  • XiangY. et al.

    Configuring software product lines by combining many-objective optimization and SAT solvers

    ACM Trans. Softw. Eng. Methodol.

    (2018)
  • ChenL. et al.

    A survey of scalability aspects of variability modeling approaches

  • HubauxA. et al.

    Supporting multiple perspectives in feature-based configuration

    Softw. Syst. Model.

    (2013)
  • CaoY. et al.

    Constraint-based multi-tenant SaaS deployment using feature modeling and XML filtering techniques

  • DiaoY. et al.

    Path sharing and predicate evaluation for high-performance XML filtering

    ACM Trans. Database Syst.

    (2003)
  • XPath, XML Path Language 1.0, http://www.w3.org/TR/xpath (last accessed...
  • K. Kang, S. Cohen J. Hess, W. Novak, A. Peterson, Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical...
  • Garćıa-GalánJ. et al.

    Migrating to the cloud: a software product line based analysis

  • PohlK. et al.

    Software Product Line Engineering: Foundations, Principles and Techniques

    (2005)
  • ApelS. et al.

    An overview of feature-oriented software development

    J. Object Technol. (JOT)

    (2009)
  • CzarneckiK. et al.

    Feature diagrams and logics: There and back again

  • BoškovićM. et al.

    Aspect-oriented feature models

  • TekinerdoganB. et al.

    Feature-driven design of SaaS architectures, software engineering frameworks for the cloud computing paradigm

  • MietznerR. et al.

    Variability modelling to support customization and deployment on multi-tenant aware software as a service applications

  • WitternE. et al.

    Cloud service selection based on variability modeling

  • WitternE. et al.

    Service feature modeling: modeling and participatory ranking of service design alternatives

    Softw. Syst. Model.

    (2016)
  • QuintonC. et al.

    Using feature modelling and automations to select among cloud solutions

  • MoensH. et al.

    Feature-based application development and management of multi-tenant applications in clouds

  • FaMa, http://www.isa.us.es/fama/ (last accessed May...
  • Flame Framework, http://www.isa.us.es/fama/?FLAME_framework, (last accessed...
  • Cited by (9)

    • Thread-level resource consumption control of tenant custom code in a shared JVM for multi-tenant SaaS

      2021, Future Generation Computer Systems
      Citation Excerpt :

      Multi-tenant Software-as-a-Service (SaaS) is a software delivery model which shares a single application instance among multiple customer organizations (tenants). Due to differences in tenant requirements, SaaS providers have to allow tenants to customize the application according to their needs (cf. [1–3]). Customization ranges from simply setting configuration parameters up to extending the functionality by providing custom code (e.g. [4,5]).

    • Configuration of Business Process Workflow in Software as a Service: Validation of Constraint Dependency relationships

      2022, Proceedings of 2022 2nd International Conference on Computing and Information Technology, ICCIT 2022
    • Shared memory protection in a multi-tenant JVM

      2021, MPLR 2021 - Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
    • Comparative Analysis of Genetic Algorithm and XML Filtering Technique for Multi-Tenant SaaS Configuration Management

      2021, 2021 IEEE 12th Annual Information Technology, Electronics and Mobile Communication Conference, IEMCON 2021
    • Using saas to enhance productivity for software developers: A systematic literature review

      2020, Journal of Theoretical and Applied Information Technology
    View all citing articles on Scopus

    Yang Cao received the B.S. and M.S. degrees in Computer Science and Engineering from Northeastern University, Shenyang, China and the Ph.D. degree in Computer Science from Carleton University, Ottawa, Canada. She worked as Postdoc in University of Illinois Urbana-Champaign from 2015 to 2017. She is working in Microsoft Beijing as a Software Engineer in the big data and AI platform team.

    Chung-Horng Lung received the B.S. degree in Computer Science and Engineering from Chung-Yuan Christian University, Taiwan and the M.S. and Ph.D. degrees in Computer Science and Engineering from Arizona State University. He was with Nortel Networks from 1995 to 2001. In September 2001, he joined the Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada, where he is now a Professor. His research interests include: Software Engineering, Cloud Computing, and Communication Networks.

    Samuel A. Ajila received B.Sc. (Hons.) in Computer Science from University of Ibadan, Nigeria, M.Sc. in Computer Science from University of Ife, Nigeria, DEA and Ph.D. in Computer Science and Engineering from LORIA, Université de Lorraine, Nancy, France. He was with Nelson Mandela University, Port Elizabeth, South Africa as a Senior Lecturer and HOD in Computer Science and Information Systems from 1998 to 2001. In September 2001, he joined the Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada where he is currently an Associate Professor. His research interests include Software Engineering, Cloud Computing, Machine Learning, and Big Data Analytics.

    Xiaolin Li received the B.S degree in Electronic Information Engineering from Sanxi University, Shanxi, China and the M.S. in Computer Science from Shanghai Jiaotong University, Shanghai, China and the second M.A.Sc. in System and Computer Engineering from Carleton University, Ottawa, Canada. She is working as a Software Engineer at Cisco, Ottawa, Canada.

    View full text