From Monolith to Microservices: A Classification of Refactoring Approaches
Jonas Fritzsch, Justus Bogner, Alfred Zimmermann, Stefan Wagner

TL;DR
This paper reviews and classifies 10 recent refactoring approaches for transitioning from monolithic to microservices architectures, providing a decision guide and highlighting their applicability, data needs, and tool support.
Contribution
It offers a systematic classification of existing refactoring strategies and visualizes their decision criteria for better guidance in microservices migration.
Findings
Most approaches are condition-specific
Significant input data requirements for some methods
Limited tool support for many strategies
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
