Abstract
Microservices play an essential role in cloud application scalability. When demand increases on a microservice-based application, the microservices need to be scaled to sustain the demand without degrading the application performance. At the same time, cloud platforms need to maintain Quality of Service (QoS) for deployed cloud applications. Current microservices autoscaling technologies such as Kubernetes Horizontal Pod Autoscaler (HPA) require identifying specific scaling metrics in addition to very good knowledge of the application resource usage. Those technologies do not provide a built-in auto scaling based on QoS constraints. In this work, we present an intelligent micro services auto scaling module using Reinforcement Learning (RL) agents. The RL agents are trained and validated on microservices for disaster management real time systems with response time as QoS constraint. Our RL agents deployed on Google cloud can identify the scaling metrics, provide microservices auto scaling, and enhance the response time compared to the default Kubernetes intelligently and autonomously. The RL agents serve as an extendible plug-in module to Kubernetes HP A for auto scaling micro services in the cloud while adhering to QoS constraints autonomously. The intelligent module is flexible to accommodate other types of QoS and provides a cost-effective solution to cloud applications auto scaling in areas of limited resources.