Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture

Skills: Author, Journal

The use of containers in cloud architectures has become widespread, owing to advantages such as limited overheads, easier and faster deployment, and higher portability. Moreover, they present a suitable architectural solution for the deployment of applications created using a microservice development pattern. Despite the large number of solutions and implementations, there remain open issues that have not been completely addressed in container automation and management. Container resource allocation influences system performance and resource consumption, and so it is a key factor for cloud providers. We propose a genetic algorithm approach, using the Non-dominated Sorting Genetic Algorithm-II (NSGA-II), to optimize container allocation and elasticity management, motivated by the good results obtained with this algorithm in other resource management optimization problems in cloud architectures. Our optimization algorithm enhances system provisioning, system performance, system failure, and network overhead. A model for cloud clusters, containers, microservices, and four optimization objectives is presented. Experimental results demonstrate that our approach is a suitable solution for addressing the problem of container allocation and elasticity, and it obtains better objective values than the container management policies implemented in Kubernetes.