Cloud native development applied to the License Manager project

dc.contributor.advisor Malec, Oldřich
dc.contributor.author Holý, Viktor
dc.contributor.referee Hunka, Jiří
dc.date.accessioned 2023-06-10T22:52:10Z
dc.date.available 2023-06-10T22:52:10Z
dc.date.issued 2023-06-10
dc.description.abstract Tato diplomová práce se zaměřuje na nativní cloudový vývoj. V teoretické části popisuje jeho principy a principy architektury mikroslužeb. Teoretické poznatky jsou následně aplikovány na aplikaci pro prodej softwaru License Manager, která má v současné verzi monolitickou architekturu a je realizována nová nativní cloudová verze její backendové části. Praktická část pokrývá všechny fáze softwarového cyklu. V analýze je popsána stávající verze a jsou revidovány požadavky na novou verzi. Návrh popisuje dělení funkcí mezi mikroslužby a jejich spolupráci. Výsledkem fáze návrhu je distribuovaný systém se šesti mikroslužbami, který je následně implementován s využitím nové sady technologií zahrnující TypeScript, gRPC, RabbitMQ, GraphQL a grafovou databázi. Výsledný kód je pokryt jednotkovými testy a funkčnost systému jako celku ověřena integračními testy. Proces testování, sestavení a vydání nových verzí je automatizován. Součástí implementace je vzorové nasazení aplikace do Kubernetes včetně nástrojů pro monitorování aplikace. Výsledkem práce je nové řešení, které oproti původnímu umožňuje mimo jiné rychlejší změny, horizontální škálování a nabízí násobně vyšší výkon při stejném zatížení hardwaru. cs
dc.description.abstract This master thesis focuses on cloud native development. In the theoretical part it describes its principles and the principles of microservices architecture. The theoretical knowledge is then applied to a software sales application, License Manager, which has a monolithic architecture in its current version and a new native cloud version of its backend is implemented. The practical part covers all phases of the software cycle. In the analysis, the current version is described and the requirements for the new version are revised. The design describes the division of functions between microservices and their collaboration. The design phase results in a distributed system with six microservices, which is then implemented using a new set of technologies including TypeScript, gRPC, RabbitMQ, GraphQL and a graph database. The resulting code is covered by unit tests and the functionality of the system as a whole is verified by integration tests. The process of testing, building and releasing new versions is automated. The implementation includes a sample deployment of the application to Kubernetes, including tools for monitoring the application. The result of the work is a new solution that, compared to the original one, allows, among other things, faster changes, horizontal scaling, and offers multiple times better performance under the same hardware load. en
dc.identifier KOS-1240469456305
dc.identifier.uri http://hdl.handle.net/10467/108938
dc.publisher České vysoké učení technické v Praze cs
dc.publisher Czech Technical University in Prague en
dc.rights A university thesis is a work protected by the Copyright Act of the Czech Republic. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one`s own expense. The use of thesis should be in compliance with the Copyright Act. en
dc.rights Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem v platném znění. cs
dc.subject nativní cloudový vývoj cs
dc.subject mikroslužby cs
dc.subject kontejnery cs
dc.subject Node.js cs
dc.subject TypeScript cs
dc.subject Kubernetes cs
dc.subject gRPC cs
dc.subject GraphQL cs
dc.subject prodej softwaru cs
dc.subject cloud native development en
dc.subject microservices en
dc.subject containers en
dc.subject Node.js en
dc.subject TypeScript en
dc.subject Kubernetes en
dc.subject gRPC en
dc.subject GraphQL en
dc.subject software sales en
dc.title Cloud native vývoj a jeho aplikování na projekt License Manager cs
dc.title Cloud native development applied to the License Manager project en
dc.type master thesis en
dspace.entity.type Publication
relation.isAdvisorOfPublication 86877ee9-f4b8-4fa2-8331-83fd193ba409
relation.isAdvisorOfPublication.latestForDiscovery 86877ee9-f4b8-4fa2-8331-83fd193ba409
relation.isAuthorOfPublication 5e47e24d-93c2-4690-afdf-88276b3ca5d8
relation.isAuthorOfPublication.latestForDiscovery 5e47e24d-93c2-4690-afdf-88276b3ca5d8
relation.isRefereeOfPublication d5337750-d27d-430a-a323-6092ab9a83b2
relation.isRefereeOfPublication.latestForDiscovery d5337750-d27d-430a-a323-6092ab9a83b2
theses.degree.discipline Softwarové inženýrství cs
theses.degree.grantor katedra softwarového inženýrství cs
theses.degree.programme Informatika cs

Files

Original bundle

Now showing 1 - 3 of 3
Name:
F8-DP-2023-Holy-Viktor-thesis.pdf
Size:
2.05 MB
Format:
Adobe Portable Document Format
Description:
PLNY_TEXT
Name:
F8-DP-2023-posudek-Malec_Oldrich.pdf
Size:
48.44 KB
Format:
Adobe Portable Document Format
Description:
POSUDEK
Name:
F8-DP-2023-posudek-Hunka_Jiri.pdf
Size:
49.14 KB
Format:
Adobe Portable Document Format
Description:
POSUDEK