Monolītas sistēmas migrācija uz mikroservisiem
Date
2019
Authors
Jansons, Lauris
Journal Title
Journal ISSN
Volume Title
Publisher
Latvijas Universitāte
Abstract
Šobrīd IT uzņēmumos ir sastopamas monolītas sistēmas, kurām jau ir liela lietotāju bāze. Gadiem ejot, šī programmatūra ir tikai augusi un uzņēmumi saskaras ar jauniem izaicinājumiem – kā ātrāk piegādāt funkcionalitāti lietotājam, kā nodrošināt labāku programmatūras kvalitāti, kā padarīt programmatūras izstrādi efektīvāku. Kā viens no risinājumiem ir programmatūras migrācija uz mikroservisiem. Maģistra darba mērķis ir izpētīt mikroservisu arhitektūras īpašības un veikt reālas cilvēkresursu vadības sistēmas migrāciju uz mikroservisiem. Maģistra darbs sastāv no divām daļām – teorētiskās un praktiskās. Teorētiskajā daļā tiek izpētītas un salīdzinātas monolītas sistēmas un mikreservisu arhitektūras, kā arī pamatots, kāpēc šobrīd IT uzņēmumi izvēlas izmantot mikroservisu arhitektūru programmatūras izstrādē. Praktiskajā daļā tiek aprakstīti visi migrācijas plānošanas soļi: izmantotās sistēmas tehnoloģijas, sistēmas sadalīšana funkcionālos moduļos, komandu sadalījums, programmatūras atkarību atdalīšana, infrastruktūras un datu bāzes sadalīšana. Visbeidzot tiek veikta arī reālas cilvēkresursu vadības sistēmas migrācija uz mikroservisiem, aprakstīti izpildes soļi, apzināti dažādi riski, problēmas un galvenie izaicinājumi, kā arī apkopoti un analizēti iegūtie rezultāti.
Title of master’s thesis: “Monolith system migration to microservices”. Today monolith systems with large user base are found in IT companies. After many years this software is only growing, and companies are facing new challenges – how to deliver functionality to user faster, how to ensure better software quality, how to make software development more efficient. One of the solutions is software migration to microservices. Master’s thesis goal is to research the features of microservice architecture and migrate employee management software to microservices. Master’s thesis consists of two parts – theoretical and practical. In theoretical part monolith system and microservice architectures are being researched and substantiate why IT companies today are choosing microservice architecture in their software development. In practical part all migration steps are being described: software technologies used, splitting software into functional modules, team breakdown, removing software dependencies, as well as splitting software infrastructure and database. Finally, a live employee management system is being migrated to microservices, all migration steps are being noted, identifying different risks, problems and main challenges, summarize and analyze results.
Title of master’s thesis: “Monolith system migration to microservices”. Today monolith systems with large user base are found in IT companies. After many years this software is only growing, and companies are facing new challenges – how to deliver functionality to user faster, how to ensure better software quality, how to make software development more efficient. One of the solutions is software migration to microservices. Master’s thesis goal is to research the features of microservice architecture and migrate employee management software to microservices. Master’s thesis consists of two parts – theoretical and practical. In theoretical part monolith system and microservice architectures are being researched and substantiate why IT companies today are choosing microservice architecture in their software development. In practical part all migration steps are being described: software technologies used, splitting software into functional modules, team breakdown, removing software dependencies, as well as splitting software infrastructure and database. Finally, a live employee management system is being migrated to microservices, all migration steps are being noted, identifying different risks, problems and main challenges, summarize and analyze results.
Description
Keywords
Datorzinātne , Mikroservisu arhitektūra , Cilvēkresursu vadības sistēma , Migrācija , .NET Core , C#