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

被引:19
|
作者
Soldani, Jacopo [1 ]
Muntoni, Giuseppe [1 ]
Neri, Davide [1 ]
Brogi, Antonio [1 ]
机构
[1] Univ Pisa, Dept Comp Sci, Largo B Pontecorvo 3, I-56127 Pisa, Italy
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2021年 / 51卷 / 07期
关键词
architectural smells; microservices; refactoring; software architecture mining;
D O I
10.1002/spe.2974
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 mu Topology and Orchestration Specification for Cloud Applications (TOSCA) toolchain. More precisely, we first introduce the mu 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 mu TOSCA, given the Kubernetes deployment of the application. We also present a methodology to analyze the mu 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, mu Miner and mu 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 mu Miner, mu Freshener, and the mu TOSCA toolchain can support researchers and practitioners working with microservices.
引用
收藏
页码:1591 / 1621
页数:31
相关论文
共 50 条
  • [1] Offline Mining of Microservice-based Architectures
    Soldani, Jacopo
    Khalili, Javad
    Brogi, Antonio
    [J]. PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND SERVICES SCIENCE (CLOSER), 2022, : 63 - 73
  • [2] Offline Mining of Microservice-Based Architectures (Extended Version)
    Soldani J.
    Khalili J.
    Brogi A.
    [J]. SN Computer Science, 4 (3)
  • [3] Refactoring Java']Java Monoliths into Executable Microservice-Based Applications
    Freitas, Francisco
    Ferreira, Andre
    Cunha, Jacome
    [J]. 25TH BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES, SBLP 2021, 2021, : 100 - 107
  • [4] A method for monitoring the coupling evolution of microservice-based architectures
    Apolinário, Daniel R.F.
    de França, Breno B.N.
    [J]. Journal of the Brazilian Computer Society, 2021, 27 (01)
  • [5] MiSim: A Simulator for Resilience Assessment of Microservice-Based Architectures
    Frank, Sebastian
    Wagner, Lion
    Hakamian, Alireza
    Straesser, Martin
    van Hoorn, Andre
    [J]. 2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2022, : 1014 - 1025
  • [6] Authentication and Authorization Orchestrator for microservice-based software architectures
    Banati, A.
    Kail, E.
    Karoczkai, K.
    Kozlovszky, M.
    [J]. 2018 41ST INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO), 2018, : 1180 - 1184
  • [7] A survey on organizational choices for microservice-based software architectures
    Unlu, Huseyin
    Bilgin, Burak
    Demirors, Onur
    [J]. TURKISH JOURNAL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCES, 2022, 30 (04) : 1187 - 1203
  • [8] Optimising Microservice-based Reliable NFV Management & Orchestration Architectures
    Soenen, Thomas
    Tavernier, Wouter
    Colle, Didier
    Pickavet, Mario
    [J]. PROCEEDINGS OF 2017 9TH INTERNATIONAL WORKSHOP ON RESILIENT NETWORKS DESIGN AND MODELING (RNDM), 2017,
  • [9] Assessing the Performance of Docker in Docker Containers for Microservice-based Architectures
    Bedinotto Fava, Felipe
    Laviola Leite, Luiz Felipe
    Alves da Silva, Luis Fernando
    da Silva Amalfi Costa, Pedro Ramires
    Diniz Nogueira, Angelo Gaspar
    Gobus Lopes, Amanda Fagundes
    Schepke, Claudio
    Luis Kreutz, Diego
    Brandao Mansilha, Rodrigo
    [J]. 2024 32ND EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, PDP 2024, 2024, : 137 - 142
  • [10] Data-driven Adaptation in Microservice-based IoT Architectures
    De Sanctis, Martina
    Muccini, Henry
    Vaidhyanathan, Karthik
    [J]. 2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION (ICSA-C 2020), 2020, : 59 - 62