Current service-level agreements (SLAs) offered by cloud providers make guarantees about quality attributes such as availability. However, although one of the most important quality attributes from the perspective of the users of a cloud-based Web application is its response time, current SLAs do not guarantee response time. Satisfying a maximum average response time guarantee for Web applications is difficult due to unpredictable traffic patterns, but in this paper we show how it can be accomplished through dynamic resource allocation in a virtual Web farm. We present the design and implementation of a working prototype built on a EUCALYPTUS-based heterogeneous compute cloud that actively monitors the response time of each virtual machine assigned to the farm and adaptively scales up the application to satisfy a SLA promising a specific average response time. We demonstrate the feasibility of the approach in an experimental evaluation with a testbed cloud and a synthetic workload. Adaptive resource management has the potential to increase the usability of Web applications while maximizing resource utilization.
[1]
Jeffrey S. Chase,et al.
Active and accelerated learning of cost models for optimizing scientific applications
,
2006,
VLDB.
[2]
Mark S. Squillante,et al.
Efficiently serving dynamic data at highly accessed web sites
,
2004,
IEEE/ACM Transactions on Networking.
[3]
David E. Irwin,et al.
Automated and on-demand provisioning of virtual machines for database applications
,
2007,
SIGMOD '07.
[4]
Richard Wolski,et al.
The Eucalyptus Open-Source Cloud-Computing System
,
2009,
2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.
[5]
Jordi Torres,et al.
Dynamic CPU provisioning for self-managed secure web applications in SMP hosting platforms
,
2008,
Comput. Networks.
[6]
David E. Irwin,et al.
Sharing Networked Resources with Brokered Leases
,
2006,
USENIX Annual Technical Conference, General Track.
[7]
Afkham Azeez.
Autoscaling Web Services on Amazon Ec2
,
.