Enabling cost-aware and adaptive elasticity of multi-tier cloud applications - Han, Rui; Ghanem, Moustafa M.; Guo, Li; Guo, Yike; Osmond, Michelle (Future generation computer systems, 2014)
Elasticity (on-demand scaling) of applications is one of the most important features of cloud computing. This elasticity is the ability to adaptively scale resources up and down in order to meet varying application demands. To date, most existing scaling techniques can maintain applications’ Quality of Service (QoS) but do not adequately address issues relating to minimizing the costs of using the service. In this paper, we propose an elastic scaling approach that makes use of cost-aware criteria to detect and analyse the bottlenecks within multi-tier cloud-based applications. We present an adaptive scaling algorithm that reduces the costs incurred by users of cloud infrastructure services, allowing them to scale their applications only at bottleneck tiers, and present the design of an intelligent platform that automates the scaling process. Our approach is generic for a wide class of multi-tier applications, and we demonstrate its effectiveness against other approaches by studying the behaviour of an example e-commerce application using a standard workload benchmark. ► Elasticity enables adaptively scaling up and down cloud applications to meet run-time requirements. ► We propose an approach for achieving cost-effective elasticity. ► Cost-aware criteria are introduced. ► Changing workloads are adapted by scaling up or down only the bottleneck components in multi-tier applications.