Docker-C2A : Cost-Aware Autoscaler of Docker Containers for Microservices-based Applications

Mohamed Hedi Fourati, Soumaya Marzouk, Mohamed Jmaiel, Tom Gu´erout
2020 Advances in Science, Technology and Engineering Systems  
This article proposes a cost-aware autoscaler for microservices-based applications deployed with docker containers. This autoscaler decreases the cost of the application deployment as it reduces computing resources. In elastic treatment, microservice resources are scaled when the used metric as the central processing unit (CPU) exceeds the threshold. In case of threshold exceeding, an autoscaler adds many instances of docker containers in order to satisfy the need of the application. In many
more » ... dies, the autoscaler adds many containers without selecting the appropriate microservices for scaling and without in advance calculation of the adequate number of containers. This may lead to allocating additional resources to inappropriate microservices and a non optimal number of containers. For this reason, we propose our autoscaler "Docker-C2A" which identifies the adequate microservices to add resources. It also calculates the optimal number of needed containers. "Docker-C2A" analyses the state of the application, uses the execution history and uses a Particle Swarm Optimization (PSO) algorithm to identify the adequate microservices for scaling resources and to determine the optimal number of containers. As a result, "Docker-C2A" helps to reduce computing resources and to save extra costs. Experimental measurements were conducted on a microservices-based application as a concrete use-case demonstrating the effectiveness of our proposed solution.
doi:10.25046/aj0506116 fatcat:6dvycec5l5dejc2kvh6pgswqye