ModSoft-HP: Colocación difusa de microservicios en Kubernetes
Autores: Petrakis, Euripides G. M.; Skevakis, Vasileios; Eliades, Panayiotis; Aznavouridis, Alkiviadis; Tsakos, Konstantinos
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
ModSoft-HP: Colocación difusa de microservicios en Kubernetes
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Microservicios
Kubernetes
Clustering
ModSoft-HP
Programación
Gráfico
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 34
Citaciones: Sin citaciones
La creciente popularidad de las arquitecturas de microservicios generó la necesidad de herramientas que orquesten su implementación en infraestructuras contenerizadas, como Kubernetes. Los microservicios que se ejecutan en contenedores separados se empaquetan en pods y se colocan en máquinas virtuales (nodos). Para aplicaciones con múltiples microservicios comunicantes, la decisión de qué servicios deben colocarse en el mismo nodo tiene un cierto impacto tanto en el tiempo de ejecución como en el costo operativo de una aplicación. El programador predeterminado de Kubernetes no es óptimo en ese caso. En este trabajo, el problema de ubicación de servicios se trata como agrupamiento de grafos. Una aplicación se modela utilizando un grafo con nodos y aristas que representan microservicios comunicantes. El agrupamiento de grafos divide el grafo en grupos de microservicios con altas tasas de afinidad. Luego, los microservicios de cada grupo se colocan en el mismo nodo de Kubernetes. Una clase de métodos recurre al agrupamiento rígido (es decir, cada microservicio se coloca en exactamente un nodo). Abogamos porque el agrupamiento de grafos debería ser difuso para permitir que los microservicios altamente utilizados se ejecuten en más de una instancia (es decir, pods) en diferentes nodos. ModSoft-HP Scheduler es un programador personalizado de Kubernetes que toma decisiones de programación basadas en los resultados del método de agrupamiento difuso ModSoft seguido por el empaquetado heurístico (HP). Como prueba de concepto, las cargas de trabajo de dos aplicaciones (es decir, una aplicación de comercio electrónico, eShop, y una arquitectura IoT) se introducen en el programador predeterminado de Kubernetes, el Bisecting K-means y los programadores de agrupamiento Heuristic First Fit (duro) y el método de agrupamiento difuso ModSoft-HP. Los resultados experimentales demuestran que ModSoft-HP puede lograr una reducción de hasta el 90% del tráfico de salida, hasta un 20% de ahorro en el tiempo de respuesta y hasta un 25% menos de costos de alojamiento en comparación con la ubicación de servicios con el programador predeterminado de Kubernetes en Google Kubernetes Engine.
Descripción
La creciente popularidad de las arquitecturas de microservicios generó la necesidad de herramientas que orquesten su implementación en infraestructuras contenerizadas, como Kubernetes. Los microservicios que se ejecutan en contenedores separados se empaquetan en pods y se colocan en máquinas virtuales (nodos). Para aplicaciones con múltiples microservicios comunicantes, la decisión de qué servicios deben colocarse en el mismo nodo tiene un cierto impacto tanto en el tiempo de ejecución como en el costo operativo de una aplicación. El programador predeterminado de Kubernetes no es óptimo en ese caso. En este trabajo, el problema de ubicación de servicios se trata como agrupamiento de grafos. Una aplicación se modela utilizando un grafo con nodos y aristas que representan microservicios comunicantes. El agrupamiento de grafos divide el grafo en grupos de microservicios con altas tasas de afinidad. Luego, los microservicios de cada grupo se colocan en el mismo nodo de Kubernetes. Una clase de métodos recurre al agrupamiento rígido (es decir, cada microservicio se coloca en exactamente un nodo). Abogamos porque el agrupamiento de grafos debería ser difuso para permitir que los microservicios altamente utilizados se ejecuten en más de una instancia (es decir, pods) en diferentes nodos. ModSoft-HP Scheduler es un programador personalizado de Kubernetes que toma decisiones de programación basadas en los resultados del método de agrupamiento difuso ModSoft seguido por el empaquetado heurístico (HP). Como prueba de concepto, las cargas de trabajo de dos aplicaciones (es decir, una aplicación de comercio electrónico, eShop, y una arquitectura IoT) se introducen en el programador predeterminado de Kubernetes, el Bisecting K-means y los programadores de agrupamiento Heuristic First Fit (duro) y el método de agrupamiento difuso ModSoft-HP. Los resultados experimentales demuestran que ModSoft-HP puede lograr una reducción de hasta el 90% del tráfico de salida, hasta un 20% de ahorro en el tiempo de respuesta y hasta un 25% menos de costos de alojamiento en comparación con la ubicación de servicios con el programador predeterminado de Kubernetes en Google Kubernetes Engine.