Auto-Scaling Containerized Microservice Applications

dc.contributor.advisorKrishnamurthy, Diwakar
dc.contributor.advisorArlitt, Martin
dc.contributor.authorMirzaEbrahim Mostofi, Vahid
dc.contributor.committeememberDrew, Steve
dc.contributor.committeememberMedeiros de Souza, Roberto
dc.date2021-11
dc.date.accessioned2021-09-17T17:58:42Z
dc.date.available2021-09-17T17:58:42Z
dc.date.issued2021-09
dc.description.abstractThe microservices architecture is being increasingly used to build complex applications. Many such applications are customer-facing. Hence, they face workload fluctuations and need to respond to end user requests quickly in spite of such fluctuations. Furthermore, application owners typically prefer to allocate resources efficiently using containerization technology so that operational costs are kept low. These two requirements are typically implemented within an auto-scaler module. The third requirement, unique to microservice applications, is the need for owners to roll out updates in an agile and frequent manner. Hence, an auto-scaler appropriate for microservices should be designed to support this requirement. Unfortunately, current auto-scaling techniques do not satisfy these three key requirements simultaneously. I develop a novel auto-scaler called TRIM that addresses this open issue. TRIM exploits properties of real-life microservice workloads. Specifically, my analysis of a large dataset consisting of $24,000$ production microservice applications reveals a novel insight that a small number of workload patterns are encountered frequently over any given time period. Furthermore, these popular patterns tend to be popular during a subsequent time period. TRIM pre-computes resource allocations for these small number of popular patterns quickly and re-uses these allocations at runtime when appropriate. I develop MOAT, a novel heuristic optimization technique that ensures that the pre-computed allocations satisfy response time targets efficiently. Using a variety of analytical, on-premise, and public cloud systems, I show that MOAT and TRIM outperform state-of-the-art baselines in terms of all three requirements described previously. For example, I consider an on-premise system subjected to a $24$ hour workload derived from a real-life microservice application. By quickly pre-computing resource allocations for just 5 popular workload patterns in this workload, TRIM achieves up to 70% lesser response time violations and up to 20% reduced costs compared to an industry-standard auto-scaling technique.en_US
dc.identifier.citationMirzaEbrahim Mostofi, V. (2021). Auto-scaling containerized microservice applications (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.en_US
dc.identifier.doihttp://dx.doi.org/10.11575/PRISM/39214
dc.identifier.urihttp://hdl.handle.net/1880/113888
dc.language.isoengen_US
dc.publisher.facultySchulich School of Engineeringen_US
dc.publisher.institutionUniversity of Calgaryen
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.en_US
dc.subjectSoftware performanceen_US
dc.subjectKubernetesen_US
dc.subjectDockeren_US
dc.subjectContainersen_US
dc.subjectAuto-scalingen_US
dc.subjectmicroservicesen_US
dc.subject.classificationComputer Scienceen_US
dc.titleAuto-Scaling Containerized Microservice Applicationsen_US
dc.typemaster thesisen_US
thesis.degree.disciplineEngineering – Electrical & Computeren_US
thesis.degree.grantorUniversity of Calgaryen_US
thesis.degree.nameMaster of Science (MSc)en_US
ucalgary.item.requestcopytrueen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2021_mirzaebrahimmostofi_vahid.pdf
Size:
3.96 MB
Format:
Adobe Portable Document Format
Description:
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: