Migration of Monoliths through the Synthesis of Microservices using Combinatorial Optimization

被引:3
作者
Filippone, Gianluca [1 ]
Autili, Marco [1 ]
Rossi, Fabrizio [1 ]
Tivoli, Massimo [1 ]
机构
[1] Univ Aquila, Laquila, Italy
来源
2021 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2021) | 2021年
关键词
microservices; system decomposition; microservices architecure; software synthesis; COHESION;
D O I
10.1109/ISSREW53611.2021.00056
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Microservices are an emerging architectural style that is gaining a growing interest from companies and research. They are small, distributed, autonomous and loosely coupled services that are deployed independently and work together by communicating through lightweight protocols. Microservices are easy to update, scale, deploy, and reduce the time-to-market thanks to continuous delivery and DevOps. Several existing systems, in contrast, are difficult to maintain, evolve, and scale. For these reasons, microservices are the ideal candidates for the refactoring and modernization of long-lived monolithic systems. However, the migration process is a complex, time-consuming and error-prone task that needs the support of appropriate tools to assist software designers and programmers from the extraction of a proper architecture to the implementation of the novel microservices. This paper proposes a possible solution for the automated decomposition of a monolithic system into microservices, which exploits combinatorial optimization techniques to manage the decomposition. Our proposal covers the whole decomposition process, from the microservice architecture definition to the generation of the code of the microservices and their APIs, in order to assist developers and ensure by construction the correct behavior of the refactored system.
引用
收藏
页码:144 / 147
页数:4
相关论文
共 24 条
  • [11] Serverless Applications: Why, When, and How?
    Eismann, Simon
    Scheuner, Joel
    van Eyk, Erwin
    Schwinger, Maximilian
    Grohmann, Johannes
    Herbst, Nikolas
    Abad, Cristina L.
    Iosup, Alexandru
    [J]. IEEE SOFTWARE, 2021, 38 (01) : 32 - 39
  • [12] From Monolith to Microservices: A Classification of Refactoring Approaches
    Fritzsch, Jonas
    Bogner, Justus
    Zimmermann, Alfred
    Wagner, Stefan
    [J]. SOFTWARE ENGINEERING ASPECTS OF CONTINUOUS DEVELOPMENT AND NEW PARADIGMS OF SOFTWARE PRODUCTION AND DEPLOYMENT, DEVOPS 2018, 2019, 11350 : 128 - 141
  • [13] GYSEL M., 2016, SERIVE CUTTER SYSTEM
  • [14] GYSEL M., 2016, SYSTEMATIC APPROACH
  • [15] Service Candidate Identification from Monolithic Systems Based on Execution Traces
    Jin, Wuxia
    Liu, Ting
    Cai, Yuanfang
    Kazman, Rick
    Mo, Ran
    Zheng, Qinghua
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2021, 47 (05) : 987 - 1007
  • [16] Lewis J., MICROSERVICES DEFINI
  • [17] Extraction of Microservices from Monolithic Software Architectures
    Mazlami, Gene
    Cito, Juergen
    Leitner, Philipp
    [J]. 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS 2017), 2017, : 524 - 531
  • [18] Newman S., 2015, P XP2017 SCI WORKSHO, V1st ed.
  • [19] From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts
    Nunes, Luis
    Santos, Nuno
    Rito Silva, Antonio
    [J]. SOFTWARE ARCHITECTURE, ECSA 2019, 2019, 11681 : 37 - 52
  • [20] The Impact of Service Cohesion on the Analyzability of Service-Oriented Software
    Perepletchikov, Mikhail
    Ryan, Caspar
    Tari, Zahir
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2010, 3 (02) : 89 - 103