Skip to main content
Log in

Heterogeneity-aware adaptive auto-scaling heuristic for improved QoS and resource usage in cloud environments

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Cloud computing is a promising utility-based distributed computing environment in which resources (hardware/software) are offered as a service over the Internet on a pay per use basis. It involves elastic resource provisioning capabilities and hence charge only for those Cloud resources that are actually needed. However, true elasticity and cost-effectiveness in the pay-per-use Cloud business model has not been achieved yet. Most of the auto-scaling techniques in Cloud allow horizontal scaling by adding duplicate instances. They do not fully consider both; users’ expected performance and pricing of the services. Since, Cloud platforms offer a plethora of server configurations at different pricing, the ability to scale by varied size instances can provide greater elasticity and hence significant improvements in cost and resource utilization. In this work, a heterogeneity-aware auto scaling algorithm that adapts to the workload changes while maintaining the Quality of Service (QoS) is proposed. The proposed method uses online profiling of Cloud resources and workload history to analytically estimate subsequent resource requirements. It then employs a heuristic to provision the smallest set of different size resource configurations in order to meet the QoS targets at reduced cost and improved resource utilization. Simulation based experimental evaluation on representative web and scientific workload patterns indicate that the proposed auto-scaling technique exhibits better performance as compared to the other contemporary horizontal scaling approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

References

  1. Alhamazani K, Ranjan R, Mitra K, Rabhi F, Jayaraman PP, Khan SU, Bhatnagar V (2014) An overview of the commercial cloud monitoring tools: research dimensions, design issues, and state-of-the-art. Computing 1–21

  2. Ali-Eldin A, Tordsson J, Elmroth E (2012) An adaptive hybrid elasticity controller for cloud infrastructures. In: Network Operations and Management Symposium (NOMS), 2012 IEEE. IEEE, pp 204–212

  3. Amazon EC2. https://aws.amazon.com/ec2/pricing/ (Online; accessed 24 November 2014)

  4. Barrett E, Howley E, Duggan J (2013) Applying reinforcement learning towards automating resource allocation and application scalability in the cloud. Concurr Comput Pract Exp 25(12):1656–1674

  5. Bodık P, Griffith R, Sutton C, Fox A, Jordan M, Patterson D (2009) Statistical machine learning makes automatic control practical for internet datacenters. In: Proceedings of the 2009 conference on Hot topics in cloud computing, pp 12–12

  6. Calheiros RN, Ranjan R, Buyya R (2011) Virtual machine provisioning based on analytical performance and QoS in cloud computing environments. In: Parallel Processing (ICPP), 2011 International Conference on. IEEE, pp 295–304

  7. Caron E, Desprez F, Muresan A (2011) Pattern matching based forecast of non-periodic repetitive behavior for cloud clients. J Grid Comput 9(1):49–64

  8. Chieu TC, Mohindra A, Karve AA (2011) Scalability and Performance of Web Applications in a Compute Cloud. In: e-Business Engineering (ICEBE), 2011 IEEE 8th International Conference on. IEEE, pp 317–323

  9. Docker. https://www.docker.com/ (Online; accessed 24 April 2015)

  10. Dutreilh X, Kirgizov S, Melekhova O, Malenfant J, Rivierre N, Truck I (2011) Using reinforcement learning for autonomic resource allocation in clouds: towards a fully automated workflow. In: ICAS 2011, The Seventh International Conference on Autonomic and Autonomous Systems, pp 67–74

  11. Fernandez H, Pierre G, Kielmann T (2014) Autoscaling web applications in heterogeneous cloud infrastructures. In: Cloud Engineering (IC2E), 2014 IEEE International Conference on. IEEE, pp 195–204

  12. Ghanbari H, Simmons B, Litoiu M, Iszlai G (2011) Exploring alternative approaches to implement an elasticity policy. In: Cloud Computing (CLOUD), 2011 IEEE International Conference on pp 716–723

  13. Google Compute Engine. https://developers.google.com/compute/pricing. [Online; accessed 24 November 2014]

  14. Gong Z, Gu X, Wilkes J (2010) Press: Predictive elastic resource scaling for cloud systems. In: Network and Service Management (CNSM), 2010 International Conference on. IEEE, pp 9–16

  15. Han R, Ghanem M, Guo L, Guo Y, Osmond M (2012) Enabling cost-aware and adaptive elasticity of multi-tier cloud applications. Future Generation Computer Systems

  16. HAProxy, The Reliable, High Performance TCP/HTTP Load Balancer. http://www.haproxy.org/ (Online; accessed 24 April 2015)

  17. Hasan MZ, Magana E, Clemm A, Tucker L, Gudreddi SLD (2012) Integrated and autonomic cloud resource scaling. In: Network Operations and Management Symposium (NOMS) IEEE 1327–1334

  18. Hwang K, Bai X, Shi Y, Li M, Chen W, Wu Y (2014) Cloud Performance Modeling and Benchmark Evaluation of Elastic Scaling Strategies

  19. IBM Bluemix Develop in the cloud at the click of a button! https://developer.ibm.com/bluemix/ (Online; accessed 24 October 2015)

  20. Internet traffic archive. http://ita.ee.lbl.gov/html/traces.html (Online; accessed 24 November 2014)

  21. Iosup A, Ostermann S, Yigitbasi MN, Prodan R, Fahringer T, Epema DH (2011) Performance analysis of cloud computing services for many-tasks scientific computing. Parallel Distrib Syst IEEE Trans 22(6):931–945

    Article  Google Scholar 

  22. Iosup A, Sonmez O, Anoep S, Epema D (2008) The performance of bags-of-tasks in large-scale distributed systems. In: Proceedings of the 17th international symposium on High performance distributed computing. ACM, pp 97–108

  23. Iqbal W, Dailey MN, Carrera D, Janecek P (2011). Adaptive resource provisioning for read intensive multi-tier applications in the cloud. Future Gene Comp Syst 27(6):871–879

  24. Jiang D (2012) Performance Guarantees For Web Applications. PhD thesis, Vrije Universiteit, Amsterdam

  25. Kalyvianaki E, Charalambous T, Hand S (2009) Self-adaptive and self-configured CPU resource provisioning for virtualized servers using Kalman filters. In: Proceedings of the 6th international conference on Autonomic computing. ACM, pp 117–126

  26. Kaur PD, Chana I (2014) A resource elasticity framework for QoS-aware execution of cloud applications. Future Gene Comp Syst 37:14–25

  27. Kleinrock L (1975) Queuing systems, Vol. 2: Computer Applications. John Wiley and Sons Inc., New York

  28. Kubernetes. http://kubernetes.io/ (Online; accessed 24 April 2015)

  29. Lim HC, Babu S, Chase JS (2010) Automated control for elastic storage. In: Proceedings of the 7th international conference on Autonomic computing. ACM pp 1–10

  30. Lorido-Botran T, Miguel-Alonso J, Lozano JA (2014) A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments. J Grid Comp 12(4):559–592

  31. Mahmud AH, He Y, Ren S (2014) BATS: budget-constrained autoscaling for cloud performance optimization. In: The 2014 ACM international conference on Measurement and modeling of computer systems. ACM, pp. 563–564

  32. Microsoft Azure. http://azure.microsoft.com/en-us/pricing/details/virtual-machines/. [Online; accessed 24 November 2014]

  33. Padala P, Hou KY, Shin KG, Zhu X, Uysal M, Wang Z, Merchant A (2009) Automated control of multiple virtualized resources. In: Proceedings of the 4th ACM European conference on Computer systems. ACM pp 13–26

  34. Park SM, Humphrey M (2009) Self-tuning virtual machines for predictable escience. In: Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid. IEEE Computer Society, pp 356–363

  35. PowerTest. Virtual Machine Performance Testing Solutions. http://www.powertest.com/solutions-virtual-machine-performance-testing.html (Online; accessed 24 November 2014)

  36. Rackspace. http://www.rackspace.com/cloud/servers/pricing/ (Online; accessed 24 November 2014)

  37. Randy Shoup on eBay’s Architectural Principles. http://www.infoq.com/presentations/shoup-ebay-architectural-principles/ (Online; accessed 24 November 2014)

  38. Rao J, Bu X, Xu CZ, Wang L, Yin G (2009) VCONF: a reinforcement learning approach to virtual machines auto-configuration. In: Proceedings of the 6th international conference on Autonomic computing. ACM, pp 137–146

  39. RightScale. Set up Autoscaling using Voting Tags. http://support.rightscale.com/12- Guides/Dashboard_Users_Guide/Manage/Arrays/Actions/Set_up_Autoscaling_using_Voting_Tags (Online; accessed 24 November 2014)

  40. Schad J, Dittrich J, Quiané-Ruiz JA (2010) Runtime measurements in the cloud: observing, analyzing, and reducing variance. Proceed VLDB Endowment 3(1–2):460–471

    Article  Google Scholar 

  41. Singh R, Sharma U, Cecchet E, Shenoy P (2010) Autonomic mix-aware provisioning for non-stationary data center workloads. In: Proceedings of the 7th international conference on Autonomic computing. ACM, pp 21–30

  42. State of the Cloud Compute—CloudHarmony. https://cloudharmony.com/reports/state-of-the-cloud-compute-report (Online; accessed 24 April 2015)

  43. Tesauro G, Jong NK, Das R, Bennani MN (2006) A hybrid reinforcement learning approach to autonomic resource allocation. In: Autonomic Computing, 2006. ICAC’06. IEEE International Conference on. IEEE, pp 65–73

  44. Urgaonkar B, Shenoy P, Chandra A, Goyal P, Wood T (2008) Agile dynamic provisioning of multi-tier internet applications. ACM Trans Autonom Adapt Syst (TAAS) 3(1):1

  45. Using Nginx as a HTTP load balancer. http://nginx.org/en/docs/http/load_balancing.html (Online; accessed 24 April 2015)

  46. Zhou H (2012) The internet of things in the cloud: a middleware perspective. CRC Press

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Deo Prakash Vidyarthi.

Appendix

Appendix

See Table 3.

Table 3 Summary of reviewed literature

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sahni, J., Vidyarthi, D.P. Heterogeneity-aware adaptive auto-scaling heuristic for improved QoS and resource usage in cloud environments. Computing 99, 351–381 (2017). https://doi.org/10.1007/s00607-016-0530-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-016-0530-9

Keywords

Mathematics Subject Classification

Navigation