Thesis Details

Configurable Parallel Execution of System Tests within the Strimzi Project

Master's Thesis Student: Orsák Maroš Academic Year: 2021/2022 Supervisor: Češka Milan, doc. RNDr., Ph.D.
Czech title
Konfigurovatelná paralelní exekuce systémových testů v rámci projektu Strimzi
Language
English
Abstract

In recent years, many companies have adopted Kubernetes and the microservices architec- ture it enables. This technology was opened up many new possibilities not just for large companies, but also for small software developers. Kubernetes is a container-orchestration system and recently a new concept has emerged arround how to orchestrate the containers more efficiently - the Operator pattern. One such operator is developed and maintained under an open-source project called Strimzi. The Strimzi project gathers together several tools, which take care of the deployment of Apache Kafka on Kubernetes. Since Kafka is a complex, horizontally scalable, distributed system, you can imagine that its installation is a relatively complex action. Therefore, one of the biggest challenges of using Kubernetes is how to effectively and quickly test projects such as Kafka and Strimzi and at the same time verify integration with other similar products. The resources needed by Kubernetes are much more demanding compared to the deployment of Kafka on virtual machines or typi- cal container instances. To tackle this problem, we adopt the principles of parallel execution and created a mechanism within Strimzi system tests, which runs tests in parallel against only a single Kubernetes cluster. Furthermore, we proposed a brand new architecture for the end-to-end tests. The improvements aim at scalability and reduction of execution time. Through several experiments, this paper shows that proposed mechanism with different configurations of the Kubernetes cluster (including number of Kubernetes nodes, number of tests and suites executed in parallel) significantly accelerated execution of the tests. 

Keywords

Strimzi, Kubernetes, Orchestration, Clustering, Azure, Openstack, AWS, Apache Kafka, Distributed systems, middleware, end-to-end tests, paralelism, multi-threaded execution, race condition, synchronization, scalability, operators 

Department
Degree Programme
Information Technology and Artificial Intelligence, Specialization Software Verification and Testing
Files
Status
defended, grade A
Date
17 June 2022
Reviewer
Committee
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT), předseda
Češka Milan, doc. RNDr., Ph.D. (DITS FIT BUT), člen
Meduna Alexander, prof. RNDr., CSc. (DIFS FIT BUT), člen
Peringer Petr, Dr. Ing. (DITS FIT BUT), člen
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT), člen
Veselý Vladimír, Ing., Ph.D. (DIFS FIT BUT), člen
Citation
ORSÁK, Maroš. Configurable Parallel Execution of System Tests within the Strimzi Project. Brno, 2022. Master's Thesis. Brno University of Technology, Faculty of Information Technology. 2022-06-17. Supervised by Češka Milan. Available from: https://www.fit.vut.cz/study/thesis/25008/
BibTeX
@mastersthesis{FITMT25008,
    author = "Maro\v{s} Ors\'{a}k",
    type = "Master's thesis",
    title = "Configurable Parallel Execution of System Tests within the Strimzi Project",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2022,
    location = "Brno, CZ",
    language = "english",
    url = "https://www.fit.vut.cz/study/thesis/25008/"
}
Back to top