0% found this document useful (0 votes)
389 views6 pages

IEEE Access LaTeX Template 1

This document summarizes a literature review on automatic migration techniques from monolithic to microservices architecture. It discusses various automated migration approaches including using machine learning and heuristics. The review explores the programming languages and technologies used in existing studies and emphasizes the importance of database migration. It also provides a comparative analysis of research objectives, system types, languages, and migration processes to identify areas for future work.

Uploaded by

Ahmad Alkurdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
389 views6 pages

IEEE Access LaTeX Template 1

This document summarizes a literature review on automatic migration techniques from monolithic to microservices architecture. It discusses various automated migration approaches including using machine learning and heuristics. The review explores the programming languages and technologies used in existing studies and emphasizes the importance of database migration. It also provides a comparative analysis of research objectives, system types, languages, and migration processes to identify areas for future work.

Uploaded by

Ahmad Alkurdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Digital Object Identifier

Literature Review: Automatic Migration


from Monolithic Architecture to
Microservices Architecture
Ahmad Alkurdi
Anas Alrantisi

ABSTRACT The migration from a monolithic architecture to a microservices architecture is gaining


popularity due to the benefits that are offered by microservices, such as reusability, scalability, elasticity,
and easy maintainability. However, the migration process comes with significant challenges for companies
lacking experience and resources in this area. This literature review aims to explore the existing research
on the automatic migration from monolithic to microservices architecture. This review will discuss
various migration approaches, including automated techniques, machine learning, and heuristics. It explores
programming languages and technologies used and emphasizes the importance of considering database
migration. Additionally, it provides a comparative analysis of research studies, highlighting their objectives,
system types, languages, and migration reasons, and processes future works to proceed in the latest
researches.

I. INTRODUCTION while keeping the existing system and evolving it to satisfy


the client’s needs by dividing a current concrete system into
These days, microservices architecture is becoming more and
many sub-systems, the migration could be divided around the
more popular to fill meet the mark needs due to the high
domain or business functionally, or it could be divided around
advantages that come with microservices like reusability,
component [4], big tech companies like Amazon, Netflix, and
scalability, elasticity, and easy maintainability, it’s used more
Uber migrate their systems from a monolithic architecture
and more, especially on it is deployed on the cloud [1], Most
to microservices[5] to be able to scale to achieve the market
legacy Systems use the old three layers approach, which
needs and to gain more profit.
is called monolithic and was used wildly in the software
development industry, but it comes with many limitations,
especially when we need to deploy on cloud-based services, II. BACKGROUND
senes it comes with high cost for scalability and maintainabil- monolithic architecture: All system functionalities are encap-
ity, because the big legacy systems become highly coupled sulated within a single, tightly-coupled unit in a monolithic
and complex to maintain from a technical perspective and architecture. This type of architecture can be challenging to
slow for new bug fixes and releasing new features business- refactor and support incremental development due to its high
wise, so to take advantage of microservices, many compa- level of dependency[6].
nies started to migrate from the monolithic system to mi- It’s the traditional, organized software development ap-
croservices to leverage the cloud benfiets, developing small proach that has been used and taught for many years, and it’s
services in thc could be more accessible and less expensive still used; it was adopted and used for many big companies;
than deploying one extensive system [17], especially if you in some cases, it is called layered architecture, and each
need to scale up some parts of that service that has more layer serves as a specific task, some time alos called three
traffic than other services, so migration is not an easy task layers because it has three main layers build on top of a
that can take services years of incremental agile work[4][16]. database. Usually, it’s one single database that serves the
However, migrating from monolithic to microservices is an whole system. [1]. As the application grows in size and the
architectural challenge because these companies do not have team expands, there is an increase in the expenses associated
the experience and enough resources to migrate their system with maintaining and scaling the system[6][7].

VOLUME 4, 2016 1
Microservices Architecture Built as a distributed set of A. GOALS AND RESEARCH QUESTIONS
small, independent services that interact through a shared The objective of the study is to collect, arrange, and analyze
fabric, microservices share the following characteristics[6]: the migration techniques proposed in the existing literature.
• Each implements a specific business capability within a Considering these objectives, the following research ques-
larger domain context. tions have been asked:
• Each independent service can be developed, tested, and • RQ1: What are the migration techniques proposed?
deployed individually. • RQ2: What types of systems have the proposed tech-
• Each is self-contained, encapsulating its own data stor- niques been applied?
age technology (SQL, NoSQL) and programming plat- • RQ3: What is the type of programming language and
form. technology used in the existing system?
• Each service will run in its own process and communi- • RQ4: What is the main reason for migration?
cates with others using standard communication proto-
cols such as HTTP/HTTPS, WebSockets, or restApi. B. SEARCH STRATEGY
Using this loosely coupled architecture, we can quickly To be able to achieve our studies and conduct the Rapid
scale some parts of the system instead of scaling up the Review within the available time, we used only the Google
whole system, reducing the cost. Also, some services can be Scholar search engine: To get more results that can help
deployed in CDNs across geographical locations, increasing in this study, we used different keywords to find the target
the performance and number of users. search. For example (a monolith could be monolithic or
Migration from Monolithic to. Microservices Architec- layered). Another example of a word like migration could be
ture: another word ( transform, extract, convert, or refactoring).
Its long, complicated, and incremental development ap-
proach aim to convent the big monolithic serves microser- C. ARTICLES SELECTION
vices by Identifying the components, grouping them into The selection process was guided by the following criteria:
functions, reducing the dependency of the logical compo- The study had to be in English, focused on automatically
nents, and starting extracting modules from the system to migrating systems from monolithic to microservices archi-
small services and that will include separating the code, tecture, and should be able to provide an answer to at least
database, and the deployment process for that services[8] one of the reviews conducted.
figure one show the difference between both architectures.
These days there is significant momentum in IT enter- D. EXTRACTION PROCEDURE
prises Companies like Amazon, Netflix, Uber, and many 4. Extraction Procedure In this step, we extracted all relevant
others companies and organizations are actively migrating data that could help answer any research questions. The
their products from monolithic architectures to microservices extraction process involved the collaboration of two authors,
systems [2]. and the majority of the articles selected were published from
2018 to 2023 in the most popular databases like Elsevier,
A. WHY DO WE NEED MICROSERVICES? IEEE, Wiley, and ACM.
• By leveraging Microservices, we can create diverse
services using different technology stacks, facilitating IV. RESULT AND DISCUSSION
the division of work into smaller teams. This approach Migration from MA to MSA typically involves a series
enables us to embrace new technologies quickly of manual steps, 1- we need to understand the need of
• Faster development cycles lead to Continuous integra- the company and the software that we need to migrate, 2-
tion and continuous deployments[18]. business functional indications, 3- the team that needs to do
• New developers often require significant time to become the refactoring must be familiar with the language and the
acquainted with the extensive codebase of monolithic existing technology, but at some point, we can automate these
applications[18]. step or most of it, so we are focusing on the research papers
• Microservices facilitate faster deployments, allowing that used programmed tools or Machine learning techniques
for the possibility of rolling back to a previous version to achieve the migration instead of performing it manually to
in case any issues arise with a specific service make the process faster.
There are many more benefits of leveraging microservices. A. TECHNOLOGY AND PROGRAMMING LANGUAGES
Utilizing a widely adopted language in our existing sys-
III. RESEARCH METHOD tem will facilitate the process of refactoring compared to
To conduct a review., the steps described in [11] for perform- attempting to refactor a system developed using outdated
ing literature reviews were followed. The following steps programming languages, for example, using a language like
describe in detail the study design and its execution. Java ( most of the researchers are talking about it and using
it as a starting point) which is still used and evolves. Another
2 VOLUME 4, 2016
FIGURE 1. Monolithic vs. Microservices Architecture.

TABLE 1. comparing researches pure backend system, the refactoring process can be less
Reference/Years Database RQ1 RQ2 RQ3 RQ4
demanding compared to systems that have a tightly coupled
[12] / 2019 Elsevier auto-decomposition of
monolithic applications
Web applications JVM-based, OOP increased the number of
concurrent user requests, frontend layer. Isolating and refactoring the frontend in such
into microservices mainly
[13]2022 Wiley machine learning and
heuristics,
Spring-Boot and an java, OOP
object-relational mapper
minimizes implementa-
tion effort cases is not a straightforward task. Therefore, careful consid-
(ORM)
[14]/2019 Elsevier Uses the application
access logs and an
Web applications on a N/A
public cloud infrastruc-
To improve the applica-
tion’s scalability and per-
eration should be given to the chosen migration strategies. In
unsupervised machine- ture. formance.
learning method to
auto-decompose
certain scenarios, a hybrid module that incorporates multiple
the application into
microservices mapped to approaches could be employed to address the migration
URL partitions having
similar performance and
resource requirements.
challenges effectively.[3][16].,
[15]2018 IEEE service retrieval various applications do- N/A N/A
algorithm is based mains
on word2vec, machine
learning
[16]/2023 new Elsevier can successfully backend systems, use an use as an example of N/A B. DATABASE MIGRATION
refactor about 72% example restaurantserver an ORM framework Java
We built a tool termed
MicroRefact, as a proof
of concept that supports
for restaurant manage- Spring
ment The significance of the database migration step is often
Java Spring applications
that use JPA annotations. overlooked in most research, , while is that it’s an critical
Using this tool, we
performed a quantitative
evaluation against
component along with the services, and the migration process
Migration approaches:
In the table1, we show the primary research on migration with different
approaches, systems, and objectives; in general, there is no silver bullet or
cannot proceed without initially refactoring the database and
one master way; there are many trades-off that need to be considered when
choosing one approach over another, taking in the consideration the current virtually isolating it. This involves dividing the database into
system size and the how complex and coupled the system is, also if existing
system designed in a good way, not like a big ball of made, which are hard to
refactor, because it not organized, so in that cases rewriting the system from the smaller databases, which may vary in types and dependencies
beginning will be easier than trying to refactor and migrate from architecture
to another[1]. based on different modules. Taking these steps is essential
to ensure a comprehensive and successful migration of the
entire system [3].
hand using non-OOP language can add more complexity to
the migration process, especially if we need to migrate it V. RELATED WORKS
to another modern language, which in this case, works still In [9], establish and describe a foundational set of microser-
need to be done manually. Moreover, when dealing with a vices migration patterns. These patterns serve as a valuable
VOLUME 4, 2016 3
FIGURE 2. shows the components of the System before and after migration.

FIGURE 3. Why microservices.

4 VOLUME 4, 2016
reference during the planning stage of transitioning towards [4] Muhammad Hamza. 2023. Transforming Monolithic
a microservices architecture. Systems to a Microservices Architecture. SIGSOFT Softw.
[10] illustrate the challenges and techniques of legacy soft- Eng. Notes 48, 1 (January 2023), 67–69. https://doi-
ware migration from monolith to microservice architecture. org.psut.idm.oclc.org/10.1145/3573074.3573091
Various migration methods and techniques are thoroughly [5] A. Balalaie, A. Heydarnoori, and P. Jamshidi, "Mi-
examined, and a comprehensive analysis of their advantages croservices architecture enables DevOps: Migration to a
and disadvantages is conducted. cloud-native architecture," Ieee Software, vol. 33, no. 3, pp.
In [3], it is an empirical study on migration steps working 42–52, 2016.
towards the implementation of microservices, so they work [6]J. L. Martin Fowler, "Microservices a definition
on a survey targeting practitioners involved in the process of this new architectural term." [Online]. Available:
of migrating their systems, and they gather the information https://martinfowler.com/articles/microservices.html
(utilizing interviews and questionnaires). The survey focused [7]. C. Richardson, Pattern: Monolithic architecture, [on-
on capturing details about the activities undertaken and the line] Available: https://microservices.io/pattems/monolithic.html.
challenges encountered throughout the migration process. [8]MIGRATING FROM MONOLITH TO MICROSER-
In [1][13][15], Show how to migrate from monolithic to VICES: STRATEGY STEP-BY-STEP GUIDE Wednes-
microservices by using Machine learning techniques to au- day, April 13, 2022 : https://acropolium.com/blog/migrating-
tomate the process of indefinite the components and convert monolith-to-microservices/
them to graphs representing the proposed services. In [26], [9] A. Balalaie, A. Heydarnoori and P. Jamshidi, "Mi-
provide an example and give a tool that was developed for croservices migration patterns", Technical report Tech. Rep.
the research called MicroRefact is designed for Java appli- TR-SUTCE-ASE-2015-01 Automated Software Engineering
cations to perform the refactoring for the existing system Group Sharif University of Technology Tehran Iran, 2015.
to a microservices system by running automated steps like [10] Kazanavičius, J. and Mažeika, D., 2019, April. Mi-
Information extraction, database, and code refactoring, then grating legacy software to microservices architecture. In
Evaluation of created system to make sure that it meets the 2019 Open Conference of Electrical, Electronic and Infor-
requirements. mation Sciences (eStream) (pp. 1-5). IEEE.
[11]B. Kitchenham and S. Charters, Guidelines for per-
VI. CONCLUSIONS AND FEATURE WORKS forming systematic literature reviews in software engineer-
ing, 2007.
As microservices become extremely popular because the old
[12] Muhammad Abdullah, Waheed Iqbal, Abdelkarim
monolithic approach is no longer able to fulfill the market
Erradi, Unsupervised learning approach for web application
needs to achieve a high scalability and rapid development cy-
auto-decomposition into microservices, Journal of Systems
cle, many companies moved to get advantages for migration
and Software, Volume 151,2019,Pages 243-257,ISSN 0164-
and adopting Microservices, which will give the motivation
1212.
to other companies to migrate as well[1].
[13] Correia, J., Silva, A. R. (2022). Identification of
However, our literature was not discussing easy or straight-
monolith functionality refactorings for microservices migra-
forward tasks; it’s a long and expensive process that requires
tion. Software: Practice and Experience, 52(12), 2664-2683.
effort and investments from the companies to gain the bene-
https://doi.org/10.1002/spe.3141
fits of microservices. These studies show that now we are not
[14]Abdullah, M., Iqbal, W., Erradi, A. (2019). Un-
thinking about making that expensive effort manually rather
supervised learning approach for web application auto-
than doing it with automated tools and using Machine learn-
decomposition into microservices. Journal of Systems and
ing and AI, which will make the process more manageable in
Software, 151, 243-257. https://doi.org/10.1016/j.jss.2019.02.031.
the future and let companies achieve their goals.
[15]S. -P. Ma, Y. Chuang, C. -W. Lan, H. -M. Chen, C. -Y.
As this article shows, there is still no one master way or
Huang and C. -Y. Li, "Scenario-Based Microservice Retrieval
100
Using Word2Vec," 2018 IEEE 15th International Conference
on e-Business Engineering (ICEBE), Xi’an, China, 2018, pp.
VII. REFERENCE 239-244, doi: 10.1109/ICEBE.2018.00046.
[1] Chaieb, Meryam, and Mohamed Aymen Saied. [16]Francisco Freitas, André Ferreira, Jácome Cunha, A
"Automate migration to a microservices architecture methodology for refactoring ORM-based monolithic web
using Machine Learning techniques." arXiv preprint applications into microservices, Journal of Computer Lan-
arXiv:2301.06508 (2023). guages, Volume 75,2023,101205, ISSN 2590-1184.
[2] S. Newman, "Building microservices: designing fine- [17]Kwon, Y.W. and Tilevich, E., 2014. Cloud refactoring:
grained systems," O’Reilly Media, Inc., 2015. automated transitioning to cloud-based services. Automated
[3] P. Di Francesco, P. Lago, and I. Malavolta, "Migrating Software Engineering, 21, pp.345-372.
towards microservice architectures: An industrial survey," in [18]R. Mishra, N. Jaiswal, R. Prakash and P. N. Barwal,
2018 IEEE International Conference on Software Architec- "Transition from Monolithic to Microservices Architecture:
ture (ICSA), April 2018, pp. 29–2909. Need and proposed pipeline," 2022 International Conference
VOLUME 4, 2016 5
on Futuristic Technologies (INCOFT), Belgaum, India, 2022,
pp. 1-6, doi: 10.1109/INCOFT55651.2022.10094556.

6 VOLUME 4, 2016

You might also like