Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. David Fridrich
Acad. year: 2022/2023
Supervisor: doc. Mgr. Adam Rogalewicz, Ph.D.
Reviewer: Ing. Jiří Pavela
The goal of this work is to create a new interface that will allow users to process collected metrics for scaling according to a formula (e.g. average value, mathematical equations, conditional statements) defined by a user. It also allows users to use an external interface for connecting KEDA to a component that defines its own scaling behavior, with which the user can achieve more complex solutions like automated predictive scaling of applications on Kubernetes platform. I solved the selected problems by modifying the KEDA core by implementing a new interface for scaling according to a custom formula with arithmetic and conditional expressions and the ability to connect a custom external remote method for calculating metrics using gRPC technology. The created solution provides a more flexible way to process metrics and also allows user to implement their own methods.
KEDA, Kubernetes, K8s, scaling, automatization, scaledObject, scaler, HPA, external, trigger, external calculation, grpc, controller
Date of defence
13.06.2023
Result of the defence
Defended (thesis was successfully defended)
Grading
B
Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. k upřesnění cílů práce a implementovaných řešení. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm velmi dobře / B.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (IT-BC-3)
Field of study
Information Technology (BIT)
Composition of Committee
doc. Ing. Vladimír Janoušek, Ph.D. (předseda) doc. Ing. Lukáš Burget, Ph.D. (člen) prof. Ing. Jan M. Honzík, CSc. (člen) Ing. Vojtěch Mrázek, Ph.D. (člen) Ing. Radek Kočí, Ph.D. (člen)
Supervisor’s reportdoc. Mgr. Adam Rogalewicz, Ph.D.
Pan Zbyněk Roubalík (technický vedoucí z RH) k práci studenta napsal:
"Pan Fridrich plně splnil zadání práce a prokázal proaktivitu a poctivou práci po celou dobu. Výsledky práce jsou velmi přínosné a budou určitě využity v open source projektu KEDA. Jsem velmi spokojen s jeho výkonem a myslím si, že tato práce umožňuje rozšíření a navázání v potenciální budoucí diplomové práci."
S ohledem na stanovisko technického vedoucího a včasné dokončení práce navrhuji známku A-výborně.
Jedná se o externí zadání z firmy RedHat. Jde o doplnění a úpravu velkého projektu. U takovýchto zadání bývá nejobtížnější částí proniknutí do funkcionality tohoto projektu a nalezení správného místa pro příslušné úpravy.
Student vycházel především z dokumentace projektů Kubernetis a KEDA.
Student na řešení spolupracoval především se svým technickým vedoucím z RH. Já jsem byl cca jednou za měsíc informován o postupu.
Práce byla dokončena včas, měl jsem možnost přečíst si většinu textu ve skoro finální verzi a dát k ní studentovi pripomínky.
Práce bude zveřejněna v rámci open-source projektu KEDA.
Grade proposed by supervisor: A
Reviewer’s reportIng. Jiří Pavela
Výstupem práce je nepříliš rozsáhlé, avšak kvalitní realizační řešení, které se zabývá rozšířením architektury aktivně vyvíjeného open-source nástroje KEDA. U řešení předpokládám využití v praxi po integraci do upstream větve projektu KEDA. Odevzdaná technická zpráva je spíše průměrné kvality a jako největší nedostatek vnímám množství jazykových a typografických chyb v textu.
Evaluation level: průměrně obtížné zadání
Jedná se o průměrně náročné zadání, při kterém bylo potřeba nastudovat fungování kontejnerů a jejich orchestrace. Stejně tak bylo potřeba se seznámit s několika open-source nástroji a následně provést úpravy v jednom z daných nástrojů.
Evaluation level: zadání splněno
Zadání bylo ve všech bodech splněno. Na základě technické zprávy jsem nezaregistroval významná rozšíření práce nad rámec zadání.
Evaluation level: je v obvyklém rozmezí
Rozsah práce je přibližně na spodní hranici obvyklého rozsahu práce.
Práce má slušnou logickou strukturu a návaznost. Jednotlivé kapitoly na sebe plynule navazují. Jedinou výtku bych měl ke skutečnosti, že některé sekce nebo kapitoly příliš rychle sklouzávají k detailnímu popisu technických detailů, namísto snahy a zprostředkování lepší představy o celku.
Typografická a jazyková stránka práce je nejslabší částí výsledného řešení. Text obsahuje vcelku velké množství překlepů (Jednim, správny, každy, apod.) a gramatických chyb (shoda podmětu s přísudkem, chybějící čárky před "které", "že", apod.), které čtenáře vyrušují od plynulého čtení. Autor si rovněž nedával příliš velký pozor na používání anglicismů, u kterých v češtině existuje ustálený překlad (string, parser, scaler, trigger). Z hlediska typografie bych vytkl především nevhodné sázení obrázků (vzniká velké množství volného místa na předchozí stránce), přetékání textu za okraj stránky (str. 28), chybějící text mezi nadpisy různých úrovní (např. sekce 4.3 a 4.3.1) nebo až příliš stručný popis obrázku, ze kterého se čtenář nic nedozví (např. obrázek 3.1).
V práci je uvedeno celkem 7 zdrojů, z nichž velká část odkazuje na dokumentaci nástrojů Kubernetes nebo KEDA. Výjimku tvoří dvě citované knihy. Některé další zdroje (týkající se převážně převzatých obrázků a ilustrací) jsou uvedeny v popiscích obrázků. Tyto citace by bylo vhodnější uvést v seznamu literatury, kde je možné uvést i další důležité údaje (jako např. datum návštěvy online zdroje). Jednotlivé citace v soupisu literatury nejsou příliš konzistentní – někdy je citovaná dokumentace uvedena v češtině a jindy v angličtině.
Kvalita realizačního výstupu je vysoká, což bylo možné si ověřit při demonstrace výsledného řešení studentem. Přestože rozsah realizace se mi jeví jako spíše menší, tak samotná realizace vyžadovala detailní nastudování a pochopení kódu architektury existujícího open-source nástroje. Následně bylo zapotřebí provést v této architektuře modifikace za účelem rozšíření podpory pro komplexnější specifikace škálování zdrojů. V rámci technické zprávy není zmíněno, zda byly vytvořeny automatické testy pro ověření funkčnosti řešení, nicméně tyto testy jsem měl možnost vyzkoušet v rámci demonstrace řešení.
Jedná se především o práci kompilačního charakteru, u které předpokládám využití v praxi. V technické zprávě však není zmíněno, zda je dosažené řešení už integrováno do upstream větve open-source projektu KEDA.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová