Microservices are getting commonplace, as their design principles enable obtaining cloud-native applications. Ensuring that applications adheres to microservices’ design principles is hence crucial, and this includes resolving architectural smells possibly denoting violations of such principles. To this end, in this paper we propose a semi-automated methodology for resolving architectural smells in microservices applications deployed with Kubernetes. Our methodology indeed automatically detects architectural smells by analyzing the Kubernetes manifest files specifying an application’s deployment, and it can also generate the refactoring templates for resolving such smells. We also introduce KubeFreshener, an open-source prototype of our methodology, which we use to assess it in practice based on a controlled experiment and a case study.
Heiko KoziolekAndreas BurgerP. P. AbdullaJulius RückertShardul SonarPablo Rodríguez