IEEE Access LaTeX Template 1
IEEE Access LaTeX Template 1
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.
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