Detail práce
Configurable Parallel Execution of System Tests within the Strimzi Project
V poslednych rokoch mnoho spolocnosti prijalo Kubernetes a architekturu mikrosluzieb, ktoru umoznuje. Tato technologia otvorila nove moznosti nielen pre velke spolocnosti, ale aj pre malych vyvojarov softveru. Kubernetes je system riadenia kontajnerov a nedavno sa objavil novy koncept, ako efektivnejsie organizovat kontajnery - vzor operatora. Jeden takyto operator je vyvinuty a udrziavany v ramci open-source projektu s nazvom Strimzi. Projekt Strimzi spaja niekolko nastrojov, ktore sa staraju o nasadenie Apache Kafka na Kubernetes. Kedze Kafka je komplexny, horizontalne skalovatelny, distribuovany system, viete si predstavit, ze jeho instalacia je pomerne zlozita akcia. Preto jednou z najvacsich vyziev pouzivania Kubernetes je, ako efektivne a rychlo otestovat projekty ako Kafka a Strimzi a zaroven overit integraciu s inymi podobnymi produktmi. Zdroje, ktore potrebuje Kubernetes, su ovela narocnejsie v porovnani s nasadenim Kafka na virtualne stroje alebo typicke instancie kontajnerov. Aby sme tento problem vyriesili, prijali sme principy par- alelneho vykonavania a vytvorili mechanizmus v ramci systemovych testov Strimzi, ktory paralelne spusta testy iba proti jedinemu klastru Kubernetes. Okrem toho sme navrhli uplne novu architekturu pre end-to-end testy. Vylepsenia su zamerane na skalovatelnost a skratenie casu vykonavania. Prostrednictvom niekolkych experimentov tato praca ukazuje, ze navrhovany mechanizmus s roznymi konfiguraciami klastra Kubernetes (vratane pocet uzlov Kubernetes, pocet paralelne vykonavanych testov a sad) vyrazne urychlil vykonavanie testov.
Strimzi, Kubernetes, Orchestracia, Klastering, Azure, Openstack, AWS, Apache Kafka, Distribuovane systemy, middleware, systemove testy, paralelizmus, multi-vlaknove vykona- vanie, subeh, sychronizacia, skalovatelnost, operatory
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. 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 A.
- V rámci paralelizace generujete náhodná jména pro proměnné použité v jednotlivých testech tak, aby při paralelním běhu nedocházelo k data-races. Může se stát, že dvě proměnné budou mít "náhodou" stejný název a testy kvůli tomu selžou?
- Proč jména proměnných generujete náhodným a ne sekvenčním způsobem?
- Jak zajišťujete že ve společném datovém úložišti nedojde ke kolizím?
- Proč výkonnost měříte na virtuálním stroji?
Češka Milan, doc. RNDr., Ph.D. (UITS FIT VUT), člen
Meduna Alexander, prof. RNDr., CSc. (UIFS FIT VUT), člen
Peringer Petr, Dr. Ing. (UITS FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Veselý Vladimír, Ing., Ph.D. (UIFS FIT VUT), člen
@mastersthesis{FITMT25008, author = "Maro\v{s} Ors\'{a}k", type = "Diplomov\'{a} pr\'{a}ce", title = "Configurable Parallel Execution of System Tests within the Strimzi Project", school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}", year = 2022, location = "Brno, CZ", language = "english", url = "https://www.fit.vut.cz/study/thesis/25008/" }