Modern applications demand specific quality of service requirements, in terms of end-to-end application response time and throughput. These applications are typically composed of multiple microservices that interact by means of network communication. Defining a scheduling and orchestration strategy for these applications is a complex problem to deal with, especially if they are deployed on geo-distributed Cloud-to-Edge environments. Kubernetes is today the standard orchestration platform for the management of containerized applications in Cloud environments. However, its container scheduling strategy presents some limitations when dealing with the placement of latency-sensitive applications on Edge environments, where network latencies can represent a bottleneck in application response time. In this work, we present an extension of the Kubernetes platform in order to implement an effective network and communication-aware microservices scheduling and orchestration strategy. In particular, we propose an extension of the default Kubernetes scheduler that takes into account microservices communication relationships, modeled through the use of the TOSCA language, the run time communication interactions between them and network latency metrics in order to take a scheduling decision for each application Pod. An evaluation of the proposed approach is presented by comparing it with the default Kubernetes scheduling strategy.
Evaluating Microservices Communication Relationships for Scheduling Containers on Kubernetes Clusters
Marchese Angelo;Tomarchio O.
2024-01-01
Abstract
Modern applications demand specific quality of service requirements, in terms of end-to-end application response time and throughput. These applications are typically composed of multiple microservices that interact by means of network communication. Defining a scheduling and orchestration strategy for these applications is a complex problem to deal with, especially if they are deployed on geo-distributed Cloud-to-Edge environments. Kubernetes is today the standard orchestration platform for the management of containerized applications in Cloud environments. However, its container scheduling strategy presents some limitations when dealing with the placement of latency-sensitive applications on Edge environments, where network latencies can represent a bottleneck in application response time. In this work, we present an extension of the Kubernetes platform in order to implement an effective network and communication-aware microservices scheduling and orchestration strategy. In particular, we propose an extension of the default Kubernetes scheduler that takes into account microservices communication relationships, modeled through the use of the TOSCA language, the run time communication interactions between them and network latency metrics in order to take a scheduling decision for each application Pod. An evaluation of the proposed approach is presented by comparing it with the default Kubernetes scheduling strategy.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.