Show simple item record

dc.contributor.authorKazanavičius, Justas
dc.date.accessioned2024-04-19T06:36:26Z
dc.date.available2024-04-19T06:36:26Z
dc.date.issued2024
dc.identifier.citationKazanavičius, J. (2024). Research on legacy monolith applications decomposition into microservice architecture [doctoral dissertation]. Vilnius Gediminas Technical University.en_US
dc.identifier.urihttps://etalpykla.vilniustech.lt/handle/123456789/154024
dc.description.abstractMicroservice architecture is becoming the de facto industry standard for building new enterprise applications. According to the International Data Corporation, almost 90% of North American enterprises already use micro-service architecture to develop new and modernise legacy applications. Companies aiming to remain competitive have started modernising their legacy monolithic systems by decomposing them into microservices. However, extracting microservices from legacy monolithic software is an extremely complex task. Although the topic of monolithic software migration into microservice architecture has already been explored by scientists and software engineers, it is a complex and relatively new challenge; therefore, little research exists on its many parts, such as database adaptation during the migration and communication establishment between microservices. Most research primarily focuses on microservice identification within monolith applications and source code decomposition into microservices. A new migration approach is proposed to bridge this gap. It consists of code decomposition and covers communication establishment and data management. The dissertation consists of an introduction, four chapters, and general conclusions. The first chapter introduces microservice and monolithic architectures and discusses the existing migration from monolithic to micro-service architecture methods. In addition, three main parts are identified, and deeper research is provided for code extraction methods, communication between microservices, and data management. It also provides evaluation of existing methodologies for monolith decomposition into micro-services. The same enterprise application was decomposed into micro-services using three different methods. Based on the proposed evaluation criteria, the advantages and disadvantages of each decomposition method were determined. The second chapter presents the proposed approach for migrating legacy monolithic applications into microservices. The third chapter presents experimental research on possible communication technologies. Five communication technologies, such as HTTP Rest, RabbitMQ, Kafka, gRPC, and GraphQL, have been evaluated and compared using the proposed evaluation criteria. The fourth chapter presents an experimental evaluation of the proposed approach of monolithic database migration into multi-model polyglot persistence. The dissertation’s results were published in 4 scientific publications, 2 of which were in reviewed scientific journals indexed in the Clarivate Analytics Web of Science database and presented at four international conferences.en_US
dc.description.abstractMikroservisų architektūra tapo de facto pramonės standartu kuriant naujas taikomąsias programas. Tarptautinės duomenų korporacijos duomenimis, beveik 90 % Šiaurės Amerikos įmonių jau naudoja mikroservisų architektūrą naujai programinėj įrangai kurti ir senai programinei įrangai modernizuoti. Siekdamos išlikti konkurencingos, įmonės pradėjo modernizuoti savo monolitines programas, išskaidydamos jas į mikroservisus. Tačiau mikroservisų išgavimas iš senos monolitinės programinės įrangos yra labai kompleksinė užduotis. Nors monolitinės programinės įrangos perkėlimo į mikroservisų architektūrą tema nagrinėta mokslininkų ir programinės įrangos inžinierių, tačiau tai yra palyginti naujas ir kompleksinis iššūkis. Daugumos tyrimų pagrindinis dėmesys skiriamas mikroservisams identifikuoti monolitinės programos išeities kode. O tokios temos kaip ryšio tarp mikroservisų užmezgimas ir duomenų bazės adaptacija yra vis dar mažai tyrinėjamos. Siekiant užpildyti šią spragą, siūlomas naujas perkėlimo metodas. Jį sudaro ne tik išeities kodo išskaidymas, bet ir ryšio užmezgimas tarp mikroservisų bei duomenų bazės adaptacija. Disertacija sudaryta iš įvado, keturių skyrių ir bendrųjų išvadų. Pirmajame skyriuje pristatomos mikroservisų ir monolitinės architektūros bei aptariami esami migracijos iš monolitinės architektūros prie mikroservisų architektūros metodai. Papildomai išskiriamos trys pagrindinės perkėlimo dalys ir atlikti išsamesni tyrimai: kodo išgavimo metodų, komunikacijos tarp mikroservisų ir duomenų bazių adaptacijos. Pirmajame skyriuje taip pat tiriamos esamos monolitinės programinės įrangos skaidymo į mikroservisus metodikos. Ta pati programa buvo išskaidyta į mikroservisus, taikant tris skirtingus metodus. Remiantis pasiūlytais vertinimo kriterijais, nustatyti kiekvieno migravimo metodo privalumai ir trūkumai. Antrajame skyriuje pateikiamas siūlomas migracijos iš monolitinės architektūros į mikroservisų architektūrą metodas. Trečiajame skyriuje pristatomi eksperimentiniai komunikacijos technologijų tyrimai. Penkios komunikacijos technologijos, tokios kaip HTTP Rest, RabbitMQ, Kafka, gRPC ir GraphQL, buvo įvertintos ir palygintos pagal siūlomus vertinimo kriterijus. Ketvirtajame skyriuje pateikiamas siūlomas perkėlimo metodas ir eksperimentinis monolitinės duomenų bazės transformacijos į daugiamodelį poliglotinį modelį įvertinimas. Disertacijos rezultatai buvo publikuoti 4 mokslinėse publikacijose, iš kurių 2 publikacijos, publikuotos žurnaluose, indeksuojamuose Clarivate Analytics Web of Science duomenų bazėje, ir pristatyti 4 mokslinėse konferencijose.en_US
dc.formatpdfen_US
dc.format.extent172 p.en_US
dc.format.mediumtekstasen_US
dc.language.isoenen_US
dc.titleResearch on legacy monolith applications decomposition into microservice architectureen_US
dc.title.alternativeMonolitinės architektūros programų migracijos į mikroservisų architektūrą tyrimasen_US
dc.typeBaigiamasis darbas / Graduation worken_US
dcterms.accessRightsLaisvai prieinamas / Openly availableen_US
dcterms.accrualMethodRankinis pateikimas / Manual submissionen_US
dcterms.educationLevelDaktaro laipsnis / Doctor degreeen_US
dcterms.issued2024-04-19
dc.description.versionTaip / Yesen_US
dc.type.pubtypeETD_DR - Daktaro disertacija / Doctoral dissertationen_US
dc.contributor.supervisorMažeika, Dalius
dc.contributor.institutionVilniaus Gedimino technikos universitetasen_US
dc.subject.researchfieldT 007 - Informatikos inžinerija / Informatics Engineeringen_US
dc.publisher.nameVilniaus Gedimino technikos universitetasen_US
dc.publisher.countryLietuvaen_US
dc.publisher.cityVilniusen_US
dc.date.defended2024-05-21
dc.identifier.doihttps://doi.org/10.20334/2024-018-Men_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record