Examining the use of dynamic data when undertaking monolitc to microservice architecture migration
Lapuz, NeilORCID: 0000-0001-8258-190X
(2023)
Examining the use of dynamic data when undertaking monolitc to microservice architecture migration.
Master of Science thesis, Dublin City University.
Companies often adopt a monolithic architecture for their system as they enable the centralized organization of source code for complex systems. However, they are inflexible to change which causes limitations on maintainability and scalability. A microservice architecture o↵ers scalable, maintainable and failure-resilient software when building systems compared to a monolithic architecture. This caught the attention of many companies and motivated them to migrate their monolithic architecture system into a more modular, flexible and loosely-coupled architecture of microservices. However, implementing microservices often imposes challenges on developers as it can be difficult to learn. Moreover, the migration process remains a technical challenge to identify potential microservice candidates which could undermine
the success of the migration. In recent years, many studies have collected dynamic data from monoliths and performed an analysis to aid the migration process. Although other research has used dynamic data such as HTTP Requests, Function Invocations and Database Operations, no published study has concurrently evaluated all three data sources together. Furthermore, studies in the literature often under-examine the extensiveness of their collected dynamic data which is the representation of their selected monolith. Given that increased data richness can potentially contribute to the identification of better-quality microservices, this thesis proposes an approach to incorporate the combination of these data sources during dynamic data collection and examines the coverage of the collected data to support the evaluation of data extensiveness. In this thesis, the collection mechanism and data extensiveness evaluation are developed as a tool namely Java Dynamic
Data Collector (JDDC). The evaluation of JDDC is conducted by applying it to six open-source monoliths.
Metadata
Item Type:
Thesis (Master of Science)
Date of Award:
November 2023
Refereed:
No
Supervisor(s):
Abgaz, Yalemisew and Clarke, Paul
Uncontrolled Keywords:
Dynamic data collection tools; Monolith to microservices migration; Dynamic data analysis tools; Dynamic code analysis