From Monolith to Microservices: A Classification of Refactoring Approaches

by   Jonas Fritzsch, et al.

While the recently emerged Microservices architectural style is widely discussed in literature, it is difficult to find clear guidance on the process of refactoring legacy applications. The importance of the topic is underpinned by high costs and effort of a refactoring process which has several other implications, e.g. overall processes (DevOps) and team structure. Software architects facing this challenge are in need of selecting an appropriate strategy and refactoring technique. One of the most discussed aspects in this context is finding the right service granularity to fully leverage the advantages of a Microservices architecture. This study first discusses the notion of architectural refactoring and subsequently compares 10 existing refactoring approaches recently proposed in academic literature. The approaches are classified by the underlying decomposition technique and visually presented in the form of a decision guide for quick reference. The review yielded a variety of strategies to break down a monolithic application into independent services. With one exception, most approaches are only applicable under certain conditions. Further concerns are the significant amount of input data some approaches require as well as limited or prototypical tool support.



There are no comments yet.


page 7

page 8


A Decision Model for Selecting Patterns and Strategies to Decompose Applications into Microservices

Microservices Architecture (MSA) style is a promising design approach to...

Business Model Canvas Should Pay More Attention to the Software Startup Team

Business Model Canvas (BMC) is a tool widely used to describe startup bu...

Design principles, architectural smells and refactorings for microservices: A multivocal review

Potential benefits such as agile service delivery have led many companie...

Choosing a Knowledge Dissemination Approach

Knowledge management has been described as getting the right knowledge t...

A Qualitative Study of Architectural Design Issues in DevOps

Software architecture is critical in succeeding with DevOps. However, de...

APR: Architectural Pattern Recommender

This paper proposes Architectural Pattern Recommender (APR) system which...

How much does an interlibrary loan request cost? A review of the literature

Interlibrary loan (ILL) services are used to fill the gap between academ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.