Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
156 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Self-adaptive, Requirements-driven Autoscaling of Microservices (2403.08798v1)

Published 2 Feb 2024 in cs.DC

Abstract: Microservices architecture offers various benefits, including granularity, flexibility, and scalability. A crucial feature of this architecture is the ability to autoscale microservices, i.e., adjust the number of replicas and/or manage resources. Several autoscaling solutions already exist. Nonetheless, when employed for diverse microservices compositions, current solutions may exhibit suboptimal resource allocations, either exceeding the actual requirements or falling short. This can in turn lead to unbalanced environments, downtime, and undesirable infrastructure costs. We propose MS-RA, a self-adaptive, requirements-driven solution for microservices autoscaling. MS-RA utilizes service-level objectives (SLOs) for real-time decision making. Our solution, which is customizable to specific needs and costs, facilitates a more efficient allocation of resources by precisely using the right amount to meet the defined requirements. We have developed MS-RA based on the MAPE-K self-adaptive loop, and have evaluated it using an open-source microservice-based application. Our results indicate that MS-RA considerably outperforms the horizontal pod autoscaler (HPA), the industry-standard Kubernetes autoscaling mechanism. It achieves this by using fewer resources while still ensuring the satisfaction of the SLOs of interest. Specifically, MS-RA meets the SLO requirements of our case-study system, requiring at least 50% less CPU time, 87% less memory, and 90% fewer replicas compared to the HPA.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (34)
  1. 2023. Sock Shop application. https://github.com/mosuke5/microservices-demo-openshift
  2. Anonymized. 2023. msra.zip. (12 2023). https://doi.org/10.6084/m9.figshare.24788352.v2
  3. Apache Project. 2023. Apache JMeter. https://jmeter.apache.org.
  4. Chamulteon: Coordinated Auto-Scaling of Micro-Services. In 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS). 2015–2025. https://doi.org/10.1109/ICDCS.2019.00199
  5. DEPAS: A Decentralized Probabilistic Algorithm for Auto-Scaling. Computing 94 (02 2012).
  6. Tao Chen and Rami Bahsoon. 2017. Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services. IEEE Trans. Serv. Comput. 10, 4 (2017), 618–632.
  7. Cloud Native Computing Foundation. 2023a. Horizontal Pod Autoscaling. https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
  8. Cloud Native Computing Foundation. 2023b. Performing a Rolling Update. https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro
  9. Adaptive microservice scaling for elastic applications. IEEE Internet of Things Journal 7, 5 (2020), 4195–4202.
  10. Dynamic scalability model for containerized cloud services. Arabian Journal for Science and Engineering 45 (2020), 10693–10708.
  11. José Herrera and Germán Moltó. 2020. Toward Bio-Inspired Auto-Scaling Algorithms: An Elasticity Approach for Container Orchestration Platforms. IEEE Access 8 (2020), 52139–52150. https://doi.org/10.1109/ACCESS.2020.2980852
  12. Practical Efficient Microservice Autoscaling with QoS Assurance. In 31st International Symposium on High-Performance Parallel and Distributed Computing (HPDC). 240–252. https://doi.org/10.1145/3502181.3531460
  13. Jeffrey O. Kephart and David M. Chess. 2003. The Vision of Autonomic Computing. Computer 36, 1 (2003), 41–50.
  14. A. Khaleq and I. Ra. 2019. Agnostic Approach for Microservices Autoscaling in Cloud Applications. In Int. Conf. on Computational Science and Computational Intelligence (CSCI). 1411–1415.
  15. Elascale: autoscaling and monitoring as a service. arXiv preprint arXiv:1711.03204 (2017).
  16. CAUS: An Elasticity Controller for a Containerized Microservice. In ACM/SPEC International Conference on Performance Engineering (ICPE-C). 93–98.
  17. Coordinating Fast Concurrency Adapting With Autoscaling for SLO-Oriented Web Applications. IEEE Transactions on Parallel and Distributed Systems 33, 12 (2022), 3349–3362. https://doi.org/10.1109/TPDS.2022.3151512
  18. M. López and J. Spillner. 2017. Towards quantifiable boundaries for elastic horizontal scaling of microservices. In 10th International Conference on Utility and Cloud Computing (UCC). 35–40.
  19. Machine learning-based auto-scaling for containerized applications. Neural Computing & Applications 32, 13 (2020), 9745–9760.
  20. HetSev: Exploiting Heterogeneity-Aware Autoscaling and Resource-Efficient Scheduling for Cost-Effective Machine-Learning Model Serving. Electronics 12, 1 (2023). https://doi.org/10.3390/electronics12010240
  21. MongoDB Inc. 2023. MongoDB. https://www.mongodb.com.
  22. Proactive self-adaptation under uncertainty: a probabilistic model checking approach. In 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE). 1–12.
  23. Modeling and Analysis of CPU Usage in Safety-Critical Embedded Systems to Support Stress Testing. In Model Driven Engineering Languages and Systems - 15th International Conference, MODELS 2012, Innsbruck, Austria, September 30-October 5, 2012. Proceedings (Lecture Notes in Computer Science, Vol. 7590), Robert B. France, Jürgen Kazmeier, Ruth Breu, and Colin Atkinson (Eds.). Springer, 759–775.
  24. Horizontal pod autoscaling in kubernetes for elastic container orchestration. Sensors 20, 16 (2020), 4621.
  25. State of the Art on Microservices Autoscaling: An Overview. In 48th Integrated Seminar on Software and Hardware (SEMISH). 1–9.
  26. Using the machine learning methods for resource management of high availability broadcasting containerized system. Procedia Computer Science 169 (2020), 773–779.
  27. Adaptive Resource Provisioning and Auto-scaling for Cloud Native Software. In Information and Software Technologies, Robertas Damaševičius and Giedrė Vasiljevienė (Eds.). Springer International Publishing, Cham, 113–129.
  28. Annisa Ayu Pramesti and Achmad Imam Kistijantoro. 2022. Autoscaling Based on Response Time Prediction for Microservice Application in Kubernetes. In 2022 9th International Conference on Advanced Informatics: Concepts, Theory and Applications (ICAICTA). 1–6. https://doi.org/10.1109/ICAICTA56449.2022.9932943
  29. Prometheus. 2023. Prometheus. https://prometheus.io/docs/introduction/overview
  30. Red Hat. 2023. What is Red Hat OpenShift. https://www.redhat.com/en/technologies/cloud-computing/openshift
  31. Fabiana Rossi. 2020. Auto-scaling Policies to Adapt the Application Deployment in Kubernetes.. In ZEUS. 30–38.
  32. J. Thönes. 2015. Microservices. IEEE Software 32, 1 (2015), 116–116.
  33. Adaptive AI-based auto-scaling for Kubernetes. In 20th IEEE/ACM Int. Symposium on Cluster, Cloud and Internet Computing (CCGRID). 599–608.
  34. Elastic scheduling for microservice applications in clouds. IEEE Transactions on Parallel and Distributed Systems 32, 1 (2020), 98–115.
Citations (5)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com