Abstract
1- Introduction
2- Related work
3- Constraint-based cloud deployment framework
4- Automatic XML-based matching
5- Case studies
6- Tool support
7- Conclusions and future work
References
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-aservice (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. Multitenancy 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].