Optimizing Service Selection and Load Balancing inMulti-Cluster Microservice Systems with MCOSS

Anat Bremler-Barr, David Hay, Daniel Bachar
IFIP Networking,
Conferences & Workshops


With the advent of cloud and container technologies, enterprises develop applications using a microservices architecture, managed by orchestration systems (e.g. Kubernetes), that group the microservices into clusters. As the number of application setups across multiple clusters and different clouds is increasing, technologies that enable communication and service discovery between the clusters are emerging (mainly as part of the Cloud Native ecosystem).
In such a multi-cluster setting, copies of the same microservice may be deployed in different geo-locations, each with different cost and latency penalties. Yet, current service selection and load balancing mechanisms do not take into account these locations and corresponding penalties.
We present \emph{MCOSS}, a novel solution for optimizing the service selection, given a certain microservice deployment among clouds and clusters in the system. Our solution is agnostic to the different multi-cluster networking layers, cloud vendors, and discovery mechanisms used by the operators. Our simulations show a reduction in outbound traffic cost by up to 72% and response time by up to 64%, compared to the currently-deployed service selection mechanisms.


Supplemental Material

Implementation - Github

author = {Anat Bremler-Barr and David Hay and Daniel Bachar},
title = {Optimizing Service Selection and Load Balancing in Multi-Cluster Microservice Systems with MCOSS},
booktitle = {IFIP Networking},
year = {2023},