Advertisement

A Fuzzy-Based Auto-scaler for Web Applications in Cloud Computing Environments

  • Bingfeng Liu
  • Rajkumar Buyya
  • Adel Nadjaran ToosiEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11236)

Abstract

Cloud computing provided the elasticity for its users allowing them to add or remove virtual machines depending on the load of their web applications. However, there is still no ideal auto-scaler which is both easy to use and sufficiently accurate to make web applications resilient under the dynamic load. The threshold-based auto-scaling approaches are among the most popular reactive auto-scaling strategies due to their high learnability and usability. However, the static threshold would become undesirable once the workload becomes highly dynamic and unpredictable. In this paper, we propose a novel fuzzy logic based approach that automatically and adaptively adjusts thresholds and cluster size for a web application. The proposed auto-scaler aims at reducing resource consumption without violation of Service Level Agreement (SLA). The performance evaluation is conducted with the real-life Wikipedia traces in the Amazon Web Services cloud platform. Experimental results demonstrate that our reactive auto-scaler efficiently reduces cloud resources usage and minimizes the SLA violations.

References

  1. 1.
    Arabnejad, H., et al.: A comparison of reinforcement learning techniques for fuzzy cloud auto-scaling. In: Proceedings of 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp. 64–73. IEEE (2017)Google Scholar
  2. 2.
    Armbrust, M., et al.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)CrossRefGoogle Scholar
  3. 3.
    van Baaren, E.-J.: Wikibench: a distributed, Wikipedia based web application benchmark. Master’s thesis, VU University Amsterdam (2009)Google Scholar
  4. 4.
    Baresi, L., et al.: A discrete-time feedback controller for containerized cloud applications. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 217–228. ACM (2016)Google Scholar
  5. 5.
    Buyya, R., et al.: Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener. Comput. Syst. 25(6), 599–616 (2009)CrossRefGoogle Scholar
  6. 6.
    DeHaan, M.: Ansible (2018). https://www.ansible.com/. Accessed 28 Feb 2018
  7. 7.
    Frey, S., et al.: Cloud QoS scaling by fuzzy logic. In: Proceedings of 2014 IEEE International Conference on Cloud Engineering (IC2E), pp. 343–348. IEEE (2014)Google Scholar
  8. 8.
    Hasan, M.Z., et al.: Integrated and autonomic cloud resource scaling. In: Proceedings of 2012 IEEE Network Operations and Management Symposium (NOMS). IEEE. 2012, pp. 1327–1334Google Scholar
  9. 9.
    Jamshidi, P., Pahl, C., Mendonça, N.C.: Managing uncertainty in autonomic cloud elasticity controllers. IEEE Cloud Comput. 3, 50–60 (2016)CrossRefGoogle Scholar
  10. 10.
    Lama, P., Zhou, X.: Autonomic provisioning with self-adaptive neural fuzzy control for end-to-end delay guarantee. In: Proceedings of 2010 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pp. 151–160. IEEE (2010)Google Scholar
  11. 11.
    Lim, H.C., Babu, S., Chase, J.S.: Automated control for elastic storage. In: Proceedings of the 7th International Conference on Autonomic Computing, pp. 1–10. ACM (2010)Google Scholar
  12. 12.
    Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014)CrossRefGoogle Scholar
  13. 13.
    Lorido-Botrán, T., Miguel-Alonso, J., Lozano, J.A.: Autoscaling techniques for elastic applications in cloud environments. Technical report EHU-KAT-IK-09-12. Department of Computer Architecture and Technology, University of Basque Country (2012)Google Scholar
  14. 14.
    Massie, M., et al.: Monitoring with Ganglia: Tracking Dynamic Host and Application Metrics at Scale. O’Reilly Media, Inc., Sebastopol (2012)Google Scholar
  15. 15.
    Müller, C., et al.: An elasticity-aware governance platform for cloud service delivery. In: Proceedings of 2016 IEEE International Conference on Services Computing (SCC), pp. 74–81. IEEE (2016)Google Scholar
  16. 16.
    Qu, C., Calheiros, R.N., Buyya, R.: Auto-scaling web applications in clouds: a taxonomy and survey. ACM Comput. Surv. 51(4), 73:1–73:33 (2018)CrossRefGoogle Scholar
  17. 17.
    Amazon Web Services. Amazon Web Services (AWS) - Cloud Computing Services (2018). https://aws.amazon.com/. Accessed 28 Feb 2018
  18. 18.
    Amazon Web Services. AWS Auto Scaling (2018). https://aws.amazon.com/autoscaling/. Accessed 28 Feb 2018
  19. 19.
    Amazon Web Services. AWS SDK for Python (Boto3) (2018). https://aws.amazon.com/sdk-for-python/. Accessed 28 Feb 2018
  20. 20.
    AmazonWeb Services. CPU Credits and Baseline Performance (2018). https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html. Accessed 28 Feb 2018
  21. 21.
    Walker, R.: Examining load average. Linux J. 2006(152), 5 (2006)Google Scholar
  22. 22.
    Yazdanov, L.: Towards auto-scaling in the cloud: online resource allocation techniques. Ph.D. thesis. Dissertation, Technische Universität Dresden, Dresden (2016)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Bingfeng Liu
    • 1
  • Rajkumar Buyya
    • 1
  • Adel Nadjaran Toosi
    • 2
    Email author
  1. 1.School of Computing and Information SystemsThe University of MelbourneMelbourneAustralia
  2. 2.Faculty of Information TechnologyMonash UniversityMelbourneAustralia

Personalised recommendations