Το work with title Micro-service placement policies for cost optimization in Kubernetes by Aznavouridis Alkiviadis, Tsakos Konstantinos, Petrakis Evripidis is licensed under Creative Commons Attribution 4.0 International
Bibliographic Citation
A. Aznavouridis, K. Tsakos and E. G. M. Petrakis, "Micro-service placement policies for cost optimization in Kubernetes," in Advanced Information Networking and Applications, vol. 450, Lecture Notes in Networks and Systems, L. Barolli, F. Hussain, T. Enokido, Eds., Cham, Switzerland: Springer, 2022, vol. 2, pp. 409–420. doi: 10.1007/978-3-030-99587-4_35
https://doi.org/10.1007/978-3-030-99587-4_35
Kubernetes enables deployment and orchestration of containerized applications across server infrastructures and in the cloud. Services running in separate containers are packed together in pods and are placed in Virtual Machines (VMs) or nodes. Application services must be placed in nodes in a way that minimizes the cost of operating an application. The problem often occurs when deploying applications comprising multiple communicating micro-services which may not fit all together in one node. This work suggests that an application is modeled by means of a graph and handles the problem of service placement as a graph clustering one. Service placement must minimize both, the node resources and the bandwidth consumed by the communicating nodes. Several graph clustering methods are deployed in the Kubernetes infrastructure of the Google Cloud Platform (GCP) to support service placement for two real use cases (an IoT architecture and an e-shop). The experimental results demonstrate that the costs of hosting applications on GCP can be significantly reduced compared to the costs of applications placed using the default Kubernetes method.