Detail práce

Configurable Parallel Execution of System Tests within the Strimzi Project

Diplomová práce Student: Orsák Maroš Akademický rok: 2021/2022 Vedoucí: Češka Milan, doc. RNDr., Ph.D.
Název česky
Konfigurovatelná paralelní exekuce systémových testů v rámci projektu Strimzi
Jazyk práce
anglický
Abstrakt

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 skalovatelnostskratenie 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. 

Klíčová slova

Strimzi, Kubernetes, Orchestracia, Klastering, Azure, Openstack, AWS, Apache Kafka, Distribuovane systemy, middleware, systemove testy, paralelizmus, multi-vlaknove vykona- vanie, subeh, sychronizacia, skalovatelnost, operatory 

Ústav
Studijní program
Informační technologie a umělá inteligence, specializace Verifikace a testování software
Soubory
Stav
obhájeno, hodnocení A
Obhajoba
17. června 2022
Oponent
Průběh obhajoby

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.

Otázky u obhajoby
  1. 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?
  2. Proč jména proměnných generujete náhodným a ne sekvenčním způsobem?
  3. Jak zajišťujete že ve společném datovém úložišti nedojde ke kolizím?
  4. Proč výkonnost měříte na virtuálním stroji?
Komise
Vojnar Tomáš, prof. Ing., Ph.D. (UITS FIT VUT), předseda
Č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
Citace
ORSÁK, Maroš. Configurable Parallel Execution of System Tests within the Strimzi Project. Brno, 2022. Diplomová práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2022-06-17. Vedoucí práce Češka Milan. Dostupné z: https://www.fit.vut.cz/study/thesis/25008/
BibTeX
@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/"
}
Nahoru