VTechWorks staff will be away for the winter holidays starting Tuesday, December 24, 2024, through Wednesday, January 1, 2025, and will not be replying to requests during this time. Thank you for your patience, and happy holidays!
 

μJUNITER: Automated Unification of Microservices into Modular Monoliths for Versatile Software Architecture Migration

dc.contributor.authorMartin, Joshua Scotten
dc.contributor.committeechairTilevich, Elien
dc.contributor.committeememberGulzar, Muhammad Alien
dc.contributor.committeememberSundararajah, Kirshanthanen
dc.contributor.departmentComputer Science and#38; Applicationsen
dc.date.accessioned2024-12-20T09:00:25Zen
dc.date.available2024-12-20T09:00:25Zen
dc.date.issued2024-12-19en
dc.description.abstractAlthough software architecture aims for long-term stability, architectural migrations may be necessary to adapt to evolving business needs and resource availability. In recent years, numerous migrations have occurred within backend architectures. While many of these migrations partition monoliths into microservices, several prominent enterprises have reported having to unite microservices into monoliths to reduce management and communication overheads. The required unification is typically manual, substantial, tedious, and error-prone for complex systems. This thesis presents a novel automated architectural refactoring that transforms a microservice system into a functionally equivalent monolith. Our refactoring relies on abstract syntax tree merging and control flow bridging to unite distributed components into a centralized system. We have implemented our approach as μJUNITER, an automated refactoring tool that operates on Java source files of Spring Boot microservices, producing Spring Boot modular monoliths. Evaluations conducted with third-party and synthetically generated microservice applications, with up to 100 microservices, demonstrate that μJUNITER's refactoring preserves the original system's functionality, as verified by end-to-end and back-end unit testing. The refactoring also reduced latency in certain cases and resource consumption in all cases. μJUNITER's refactoring saves manual programming effort proportional to the number of microservices and their level of inter-service interaction. As software architectures must adapt to changing trends, our approach can complement and enhance the existing automated toolset for architectural migration.en
dc.description.abstractgeneralModern software must constantly evolve to remain useful, reliable, and efficient. Sometimes, these changes affect small parts of the software, while in other cases, the entire architecture needs to be reworked. Enterprise software architecture typically follows two main styles: monolithic systems, in which all features are bundled together, or microservices, in which features are broken into separate, remotely interacting components. While many companies have shifted from monolithic systems to microservices, some are now moving back to monolithic structures to simplify management and reduce overhead. This thesis introduces a tool called μJUNITER that automates the process of merging microservices into a single, cohesive system, saving time and reducing errors. The evaluation shows that μJUNITER preserves the original functionality while improving performance and reducing resource usage. With the continuous changes in the software landscape, μJUNITER provides an effective solution for organizations seeking to restructure the architecture of their enterprise systems.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:42011en
dc.identifier.urihttps://hdl.handle.net/10919/123848en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectSoftware Architectureen
dc.subjectArchitectural Migrationen
dc.subjectAutomated Refactoringen
dc.subjectMicroservicesen
dc.subjectMonolithsen
dc.titleμJUNITER: Automated Unification of Microservices into Modular Monoliths for Versatile Software Architecture Migrationen
dc.typeThesisen
thesis.degree.disciplineComputer Science & Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 2 of 2
Name:
Martin_JS_T_2024.pdf
Size:
3.3 MB
Format:
Adobe Portable Document Format
Name:
Martin_JS_T_2024_support_1.pdf
Size:
61.1 KB
Format:
Adobe Portable Document Format
Description:
Supporting documents

Collections