Multi-tenant service composition has become a common delivery model for business processes in cloud computing. To dynamically support the workload tenant variation, elasticity holds the promise of ensuring the quality of service (QoS) of the business process by providing the involved service instances at a low cost. However, integrating both of multi-tenancy and elasticity during service composition is a key problem for serving multiple tenants from a single process instance. Nowadays, existing approaches in the field of cloud service composition, although numerous, still fall short since they cannot adequately address issues related to supporting the scalability of the composed service and adapting it to the workload fluctuation. In this paper, we propose a holistic approach which makes the dynamic multi-tenant services matching and manages their elasticity in distributed business processes. This approach is based on a generic service pattern that integrates multi-tenancy property and handles elasticity at the process and service levels. Furthermore, we present elastic composition algorithms to compose multi-tenant cloud services and perform their elasticity through the proposed service pattern. The evaluation of our approach, compared to the baseline approach, proves that the latency taken to provide an elastic multi-tenant service composition and detect its SLA (Service Level Agreements) violation are reasonably short. We also show that the CPU overhead of using our approach is negligible. Furthermore, experimental results demonstrate the merits of our approach in terms of minimizing the memory consumption through the deployed service instances.
Read full abstract