Expedited Load Tests for CI/CD Microservice Applications

dc.contributor.advisorKrishnamurthy, Diwakar
dc.contributor.advisorAmannejad, Yasaman
dc.contributor.authorCooper, Quinn
dc.contributor.committeememberPauchard, Yves
dc.contributor.committeememberDrew, Steve
dc.date2024-11
dc.date.accessioned2024-09-06T23:00:42Z
dc.date.available2024-09-06T23:00:42Z
dc.date.issued2024-09-06
dc.description.abstractIn recent years, microservices have become a dominant architecture in software development, offering scalability, modularity, and agility to development processes. However, ensuring optimal performance before deployment poses a significant challenge, particularly in the fast-paced environments of Continuous Integration/Continuous Deployment (CI/CD) pipelines. Traditional performance testing methods, which rely on synthetic scenarios and lengthy testing processes, can be difficult to adopt in environments where testing needs to be both realistic and quick. To address the need for accurate and responsive testing, my work proposes and implements an innovative framework that uses real-world usage traces to identify and execute a small yet essential set of performance tests. This approach aims to seamlessly integrate with CI/CD workflows, providing developers with quick feedback on performance issues and scalability constraints that may arise from changes to one or more microservices. Through a series of empirical evaluations, I compare the effectiveness of six techniques using 12 real-world traces chosen based on their timeseries characteristics. My work aims to identify a set of performance tests that can capture historically observed system behaviour and be executed within a specified time budget. In this work, I present and test 6 different techniques for load test generation. Of the 6 techniques tested, Interval Sampling (IS) was the most reliably accurate for all traces tested. Using this technique, I was able to replicate the response time distribution of a 24-hour test on our custom testbench within just a five-minute test, achieving a mean relative percent error of only 1.12% and 2.73% at the 90th and 95th percentiles. This considerable decrease in time and resources necessary for load testing and response time modelling demonstrates the efficiency and effectiveness of my approach.
dc.identifier.citationCooper, Q. (2024). Expedited load tests for CI/CD microservice applications (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.
dc.identifier.urihttps://hdl.handle.net/1880/119638
dc.language.isoen
dc.publisher.facultyGraduate Studies
dc.publisher.institutionUniversity of Calgary
dc.rightsUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.
dc.subjectCI/CD
dc.subjectLoad Test
dc.subjectPerformance Test
dc.subjectCloud
dc.subjectMicroservices
dc.subjectDevOps
dc.subject.classificationEngineering--Electronics and Electrical
dc.subject.classificationComputer Science
dc.titleExpedited Load Tests for CI/CD Microservice Applications
dc.typemaster thesis
thesis.degree.disciplineEngineering – Electrical & Computer
thesis.degree.grantorUniversity of Calgary
thesis.degree.nameMaster of Science (MSc)
ucalgary.thesis.accesssetbystudentI do not require a thesis withhold – my thesis will have open access and can be viewed and downloaded publicly as soon as possible.
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2024_cooper_quinn.pdf
Size:
896.89 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
2.62 KB
Format:
Item-specific license agreed upon to submission
Description: