Verzování v mikroslužbové architektuře
Versioning in microservice architecture
Typ dokumentu
diplomová prácemaster thesis
Autor
Vojtěch Svoboda
Vedoucí práce
Chloupek Martin
Oponent práce
Frajták Karel
Studijní obor
Softwarové inženýrstvíStudijní program
Otevřená informatikaInstituce přidělující hodnost
katedra počítačůPráva
A university thesis is a work protected by the Copyright Act. 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 http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoš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 http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato diplomová práce se zabývá problematikou verzování v mikroslužbové architektuře. V rámci této práce je navržen způsob verzování jednotlivých služeb pro~udržení jasných verzí včetně externích závislostí, dále je navrženo a implementováno CI/CD pro mikroslužbové projekty a pro jednotlivé služby a následně jsou tyto návrhy implementovány na projektu firmy Quanti s.r.o. Součástí této práce je také nástroj pro správu mikroslužbových aplikací s jednoduchým uživatelských rozhraním, který poskytuje přehled nasazených verzí služeb pro jednotlivá prostředí a~umožňuje spouštět nasazení služeb a~kontrolovat průběh testů a~nasazení. Pro potřeby této práce jsou využity nástroje GitLab, Artifactory a Graylog, pro~správu kontejnerů je použit Docker. Práce se skládá z YAML, bash a Python skriptů. Pro uživatelské rozhraní je použit Python framework Flask, který využívá Jinja šablon. This master thesis deals with the topic of versioning in microservice architecture. A~new way of versioning of individual services is proposed to maintain clear versions of services including external dependencies. Furthermore, CI/CD for microservice projects and individual services has been designed, implemented and applied to a project of company Quanti s.r.o. A microservice application management tool with simple user interface has been developed as a part of this work. The tool displays a summary of deployed versions of services for individual environments and allows the user to deploy the services and control the testing and deployment flow. This work is based on GitLab, Artifactory and Graylog and is scripted in YAML, bash and Python. Docker is used for container management. User interface is implemented in Flask, a Python-based framework that leverages Jinja templating.
Kolekce
- Diplomové práce - 13136 [892]