Acquisition of Virtual Machines for Tiered Applications with Availability Constraints

Deploying and managing a high availability tiered application in the cloud is a challenging task because it requires determining and buying enough number of VMs dynamically such that the application is available. An application is available if it is working and it can respond in a timely manner for varying workloads. For a given workload, we will need a minimum number of working copies for each server and the minimum computing power of VMs necessary to run those copies for meeting the response time requirement. Otherwise, we will end up with response time failures. In this work, we assume that each software server of an application is replicated into one or more copies and each copy runs on a separate virtual machine (VM). VMs can be of different types depending on their computing power, availability and cost. This paper presents a novel optimization model to determine the number and types of VMs needed for each server that minimizes the cost and at the same time guarantees the availability SLA (service-level agreement). The results demonstrate that it is more cost effective to have a mixture of different types of VMs for running the copies of a server rather than restricting the copies to run on a single type of VMs. The results further demonstrate that the decision to buy only the cheapest VMs for an application is not always better cost-wise.

[1]  Balaji Viswanathan,et al.  SmartScale: Automatic Application Scaling in Enterprise Clouds , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[2]  Rolf Stadler,et al.  Resource Management in Clouds: Survey and Research Challenges , 2015, Journal of Network and Systems Management.

[3]  Marty Humphrey,et al.  Auto-scaling to minimize cost and meet application deadlines in cloud workflows , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[4]  Daniel A. Menascé,et al.  Near-Optimal Allocation of VMs from IaaS Providers by SaaS Providers , 2015, 2015 International Conference on Cloud and Autonomic Computing.

[5]  Dario Pompili,et al.  Towards energy-efficient reactive thermal management in instrumented datacenters , 2010, 2010 11th IEEE/ACM International Conference on Grid Computing.

[6]  Djamal Zeghlache,et al.  Minimum Cost Maximum Flow Algorithm for Dynamic Resource Allocation in Clouds , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[7]  Daniel A. Menascé,et al.  Understanding Cloud Computing: Experimentation and Capacity Planning , 2009, Int. CMG Conference.

[8]  Daniel A. Menascé,et al.  Autonomic resource provisioning in cloud systems with availability goals , 2013, CAC.

[9]  Rajkumar Buyya,et al.  SLA-Based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[10]  Massoud Pedram,et al.  SLA-based Optimization of Power and Migration Cost in Cloud Computing , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[11]  Zhen Xiao,et al.  Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment , 2013, IEEE Transactions on Parallel and Distributed Systems.

[12]  Danilo Ardagna,et al.  Quality-of-service in cloud computing: modeling techniques and their applications , 2014, Journal of Internet Services and Applications.