Microservices Upgrade in Clouds: Dynamic Management of Version Dependencies and User Load

Azadeh Azhdari, Amin Ebrahimzadeh, Carla Mouradian, Robert M. Szabo, Roch Glitho · 2024

In today's cloud computing environments, where scalability, agility, and resiliency are paramount, microservices architecture stands out as a fundamental keystone of modern software development. While microservices are designed as independent components communicating through well-defined APIs, maintaining and upgrading them pose unique challenges, including version compatibility, dependency management, and service continuity. These challenges become intricate when multiple instances of a specific microservice are deployed, utilizing load balancing to distribute users and offering different functionalities simultaneously. This paper proposes a heuristic algorithm to address the microservices upgrading problem. The proposed algorithm migrates users gradually and effectively by managing version dependencies, user load, considering propagation impact, multiple instances, and resource constraints. The simulation results demonstrate the superiority of our algorithm over existing benchmarks in terms of resource usage cost and the number of new version instances.

Read the paper · More papers on PaperTik