Estimating Response Time Percentiles of Cloud-Based Tiered Web Applications in Presence of VM Failures
Olivia Das, Arindam Das · 2016
Increasingly, software applications are being deployed in clouds because cloud computing offers several advantages -- for example, it relieves the application service providers from buying and maintaining data centers thereby reducing the operational costs, it allows dynamic scaling of virtual machines as required on a pay-per-use basis, and, it promotes easy deployment in multiple geographic locations at minimal cost. A key challenge in deploying a multi-tier web application in cloud is to achieve low variability in its response time. In this paper, we analyze the behaviour of a 3-tier cloud-based web application. We propose a hierarchical model to compute the response-time distribution that considers performance degradation of the application due to VM failures. Our model applies order statistics to describe the application's availability behavior and open queueing network to describe its performance behavior. We solve the open queueing network using discrete event simulation. The results show that in a 3-tier system, a configuration with large number of virtual machines (VMs) does not necessarily perform better than a configuration with smaller number of VMs. Moreover, for a given set of performance and availability parameters, the results further show that different system configurations containing the same number of VMs yield different performance depending on the replication level of the VMs in different tiers. We demonstrate that our model can be exploited to support the selection of appropriate number of replicas for different tiers that would meet the service-level agreement specified in terms of response-time percentiles.