Using Ant Colony System to Consolidate Multiple Web Applications in a Cloud Environment

Infrastructure as a Service (IaaS) clouds provide virtual machines (VMs) under a pay-per-use business model, which can be used to create a dynamically scalable cluster of servers to deploy one or more web applications. In contrast to the traditional dedicated hosting of web applications where each VM is used exclusively for one particular web application, the shared hosting of web applications allows improved VM utilization by sharing VM resources among multiple concurrent web applications. However, in a shared hosting environment, dynamic scaling alone does not minimize over-provisioning of VMs. In this paper, we present a novel approach to consolidate multiple web applications in a cloud-based shared hosting environment. The proposed approach uses Ant Colony Optimization (ACO) to build a web application migration plan, which is then used to minimize over-provisioning of VMs by consolidating web applications on under-utilized VMs. The proposed approach is demonstrated in discrete-event simulations and is evaluated in a series of experiments involving synthetic as well as realistic load patterns.

[1]  Sangyoon Oh,et al.  Sercon: Server Consolidation Algorithm using Live Migration of Virtual Machines for Green Computing , 2011 .

[2]  Dejun Mu,et al.  Feedback Control-Based QoS Guarantees in Web Application Servers , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[3]  Werner Vogels,et al.  Beyond Server Consolidation , 2008, ACM Queue.

[4]  Jun Han,et al.  A multi-model framework to implement self-managing control systems for QoS management , 2011, SEAMS '11.

[5]  Ivan Porres,et al.  Feedback Control Algorithms to Deploy and Scale Multiple Web Applications per Virtual Machine , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[6]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[7]  Luca Maria Gambardella,et al.  Ant Algorithms for Discrete Optimization , 1999, Artificial Life.

[8]  Luca Maria Gambardella,et al.  Ant colony system: a cooperative learning approach to the traveling salesman problem , 1997, IEEE Trans. Evol. Comput..

[9]  Jingyu Wang,et al.  Ant colony optimization for the nonlinear resource allocation problem , 2006, Appl. Math. Comput..

[10]  Ajay Mohindra,et al.  Dynamic Scaling of Web Applications in a Virtualized Cloud Computing Environment , 2009, 2009 IEEE International Conference on e-Business Engineering.

[11]  Mark Harman,et al.  Cloud engineering is Search Based Software Engineering too , 2013, J. Syst. Softw..

[12]  Waheed Iqbal,et al.  Adaptive resource provisioning for read intensive multi-tier applications in the cloud , 2011, Future Gener. Comput. Syst..

[13]  Moustafa Ghanem,et al.  Lightweight Resource Scaling for Cloud Applications , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[14]  Prashant J. Shenoy,et al.  Resource overbooking and application profiling in a shared Internet hosting platform , 2009, TOIT.

[15]  Christian Blum,et al.  Hybrid metaheuristics in combinatorial optimization: A survey , 2011, Appl. Soft Comput..

[16]  Ivan Porres,et al.  CRAMP: Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.

[17]  Timo Aho,et al.  Designing IDE as a Service , 2013 .

[18]  Carlo Ghezzi,et al.  Service Provisioning on the Cloud: Distributed Algorithms for Joint Capacity Allocation and Admission Control , 2010, ServiceWave.

[19]  Ivan Porres,et al.  A Session-Based Adaptive Admission Control Approach for Virtualized Application Servers , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[20]  Christine Morin,et al.  A case for fully decentralized dynamic VM consolidation in clouds , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.

[21]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[22]  Pasi Tyrväinen,et al.  Hybrid Cloud Architecture for Short Message Services , 2012, CLOSER.

[23]  Marin Litoiu,et al.  Resource provisioning for cloud computing , 2009, CASCON.

[24]  Fabio Panzieri,et al.  Server consolidation in Clouds through gossiping , 2011, 2011 IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks.

[25]  Sébastien Lafond,et al.  Prediction-Based Dynamic Resource Allocation for Video Transcoding in Cloud Computing , 2013, 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[26]  Isis Truck,et al.  From Data Center Resource Allocation to Control Theory and Back , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[27]  Gerhard Meixner,et al.  TwoSpot: A Cloud Platform for Scaling Out Web Applications Dynamically , 2010, ServiceWave.