Exploiting microservices to architect enterprise applications is becoming commonplace. This makes it crucial to provide some support for designing and analyzing microservice-based applications, for example, for understanding whether a microservice-based application adheres to the main design principles of microservices and for choosing how to refactor it when this is not the case. To provide such support, in this article we present the (Formula presented.) TOSCA toolchain. More precisely, we first introduce the (Formula presented.) TOSCA model to represent the architecture of microservice-based applications with the OASIS standard TOSCA. We then describe a technique to automatically mine the architecture of a microservice-based application and represent it with (Formula presented.) TOSCA, given the Kubernetes deployment of the application. We also present a methodology to analyze the (Formula presented.) TOSCA representation of a microservice-based architecture to systematically identify the architectural smells potentially affecting the corresponding application and to resolve them. Finally, we present two prototype tools, (Formula presented.) Miner and (Formula presented.) Freshener, implementing our mining solution and the support for identifying and resolving architectural smells in microservice-based applications, respectively. We then assess —by discussing some case studies— how effectively (Formula presented.) Miner, (Formula presented.) Freshener, and the (Formula presented.) TOSCA toolchain can support researchers and practitioners working with microservices.

The μTOSCA toolchain: Mining, analyzing, and refactoring microservice-based architectures

Soldani J.
Primo
;
Brogi A.
2021-01-01

Abstract

Exploiting microservices to architect enterprise applications is becoming commonplace. This makes it crucial to provide some support for designing and analyzing microservice-based applications, for example, for understanding whether a microservice-based application adheres to the main design principles of microservices and for choosing how to refactor it when this is not the case. To provide such support, in this article we present the (Formula presented.) TOSCA toolchain. More precisely, we first introduce the (Formula presented.) TOSCA model to represent the architecture of microservice-based applications with the OASIS standard TOSCA. We then describe a technique to automatically mine the architecture of a microservice-based application and represent it with (Formula presented.) TOSCA, given the Kubernetes deployment of the application. We also present a methodology to analyze the (Formula presented.) TOSCA representation of a microservice-based architecture to systematically identify the architectural smells potentially affecting the corresponding application and to resolve them. Finally, we present two prototype tools, (Formula presented.) Miner and (Formula presented.) Freshener, implementing our mining solution and the support for identifying and resolving architectural smells in microservice-based applications, respectively. We then assess —by discussing some case studies— how effectively (Formula presented.) Miner, (Formula presented.) Freshener, and the (Formula presented.) TOSCA toolchain can support researchers and practitioners working with microservices.
2021
Soldani, J.; Muntoni, G.; Neri, D.; Brogi, A.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/1119394
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 17
  • ???jsp.display-item.citation.isi??? 11
social impact