Litcius/Paper detail

Machine Learning for Predictive Resource Scaling of Microservices on Kubernetes Platforms

Adam Rubak, Javid Taheri

202314 citationsDOIOpen Access PDF

Abstract

Resource scaling is the process of adjusting the amount of resources allocated to a system or a service according to the changing demand. For microservices, resource scaling can be done at different levels, such as the container, the pod, or the cluster. However, the current approaches for resource scaling are not good enough because they rely on reactive or rule-based methods that do not account for the dynamic and complex nature of microservices. These methods often lead to over-provisioning or under-provisioning of resources, both affecting the quality of service and the cost efficiency. To address these issues, this work focuses on testing multiple machine learning approaches to optimize the pod dimensioning problem for Kubernetes platforms through predicting resource requirements for an upscaled number of users. The proposed approach aims to address the limitations of the standard Horizontal Pod Autoscaler (HPA), which often results in resource wastage or suboptimal performance. The results were promising and demonstrated high precision and performance of multiple ML models to accurately forecast future resource needs.

Topics & Concepts

MicroservicesComputer scienceScalingResource (disambiguation)Machine learningDistributed computingArtificial intelligenceOperating systemComputer networkCloud computingGeometryMathematicsCloud Computing and Resource ManagementSoftware System Performance and ReliabilityIoT and Edge/Fog Computing
Machine Learning for Predictive Resource Scaling of Microservices on Kubernetes Platforms | Litcius