Navegación

Búsqueda

Búsqueda avanzada

Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications (Summary)

Los microservicios han resultado ser un nuevo paradigma de programación adoptado ampliamente durante los últimos años. Consiste en desarrollar una aplicación mediante un conjunto de servicios ligeros e independientes que pueden desplegarse y escalarse en múltiples proveedores de cloud (multicloud). El uso de múltiples proveedores puede suponer una mayor ventaja en términos de coste y disponibilidad, entre otras, pero también conlleva riesgos asociados con la degradación del servicio. Por ello, el uso de políticas de asignación de recursos es importante para mitigar estos inconvenientes.

Este trabajo propone el uso de un algoritmo genético (Non-dominated Sorting Genetic Algorithm II, NSGA-II) para optimizar la asignación de microservicios a máquinas virtuales de cada uno de los proveedores, de forma que se consiga minimizar las siguientes métricas: el coste de despliegue; los tiempos de comunicación entre los microservicos de una misma aplicación debido a despliegues en distintos proveedores de cloud; y el tiempo medio de recuperación, es decir, el tiempo entre la caída y despliegue de una nueva instancia vuelva a estar operativa.

Mediante la simulación de distintos experimentos, hemos probado que la asignación de recursos con NSGA-II obtiene una mejor minimización de los objetivos evaluados junto a una mayor diversidad de soluciones de asignación de recursos, en comparación con un algoritmo voraz. Por tanto, el trabajo concluye que el uso del algoritmo genético (NSGA-II) es adecuado para mejorar la asignación de microservicios y máquinas virtuales en entornos multicloud.

Efficient refactoring scheduling based on partial order reduction

Anti-patterns are poor solutions to design problems that make software systems hard to understand and to extend. Components involved in anti-patterns are reported to be consistently related to high changes and faults rates. Developers are advised to perform refactoring to remove anti-patterns, and consequently improve software design quality and reliability. However, since the number of anti-patterns in a system can be very large, the process of manual refactoring can be overwhelming. To assist a software engineer who has to perform this task, we propose a novel approach RePOR (Refactoring approach based on Partial Order Reduction). We perform a case study with five open source systems to assess the performance of RePOR against two well-known metaheuristics (Genetic Algorithm, and Ant Colony Optimization), one conflict-aware refactoring approach and, a new approach based on sampling (Sway). Results show that RePOR can correct a median of 73% of anti-patterns (10% more than existing approaches) with a significant reduction in effort (measured by the number of refactorings applied) ranging from 69% to 85%, and a reduction of execution time ranging between 50% and 87%, in comparison to existing approaches.