Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • apa.csl
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Dimensioning Microservices on Kubernetes Platforms Using Machine Learning Techniques
Karlstad University, Faculty of Health, Science and Technology (starting 2013), Department of Mathematics and Computer Science (from 2013).
2023 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

In recent years, cloud computing and containerization have become increasingly popular for various applications. However, optimizing resource usage and minimizing costs while providing reliable and efficient service to users can be a challenge. One such challenge is scaling containers according to the current system load.

This thesis focuses on the problem of properly dimensioning pods in Kubernetes, a widely used platform for managing containerized applications. The motivation behind this problem is that the standard solution, Horizontal Pod Autoscaler (HPA), often results in wasted resources or poor performance due to overprovisioning or underprovisioning.

This thesis proposes a proactive approach to scaling applications by utilizing machine learning models to predict future resource requirements based on concurrent user counts on the platform. This approach involves collecting and modifying data from HPA and training various machine learning models to forecast and predict the system's future behavior.

The results of this thesis demonstrate that machine learning models can predict future resource requirements based on trends in the application. Based on the data evaluation, it was found that overprovisioning negatively affects the response time. Additionally, the machine learning models were accurate enough to predict future CPU needs. However, further research and experimentation are necessary to improve the accuracy and reliability of these models.

Abstract [sv]

Under de senaste åren har cloud computing och containerisering blivit allt populärare för olika applikationer. Det kan dock vara en utmaning att optimera resursanvändningen och minimera kostnaderna och samtidigt tillhandahålla pålitlig och effektiv service till användarna. En sådan utmaning är hur man skalar containrar enligt den aktuella systembelastningen.

Det här examensarbetet fokuserar på problemet med korrekt dimensionering av pods i Kubernetes, en allmänt använd plattform för att hantera containeriserade applikationer. Motivet bakom detta problem är att standardlösningen, Horizontal Pod Autoscaler (HPA), ofta resulterar i antingen slöseri med resurser eller dålig prestanda på grund av överprovisionering eller underprovisionering.

Detta examensarbete syftar till att föreslå ett proaktivt tillvägagångssätt för att skala applikationer genom att använda maskininlärningsmodeller för att förutsäga framtida resurskrav baserat på samtidiga antal användare på plattformen. Detta tillvägagångssätt innebär att samla in och modifiera data från HPA och träna olika maskininlärningsmodeller för att förutsäga systemets framtida beteende.

Resultaten av denna avhandling visar att maskininlärningsmodeller kan förutsäga framtida resursbehov baserat på trender i applikationen. Baserat på datautvärderingen fann man att överprovisionering påverkar svarstiden negativt. Dessutom var maskininlärningsmodellerna tillräckligt exakta för att förutsäga framtida CPU-behov. Det krävs dock ytterligare forskning och experiment för att förbättra noggrannheten och tillförlitligheten hos dessa modeller.

Place, publisher, year, edition, pages
2023. , p. 73
Keywords [en]
Kubernetes, dimensioning, scaling, resource management, horizontal pod autoscaler, machine learning
Keywords [sv]
Kubernetes, dimensionering, skalning, resurshantering, horisontell pod autoscaler, maskininlärning
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kau:diva-95796OAI: oai:DiVA.org:kau-95796DiVA, id: diva2:1776407
Subject / course
Computer Science
Educational program
Engineering: Computer Engineering (300 ECTS credits)
Presentation
2023-06-15, 21E 415A, Universitetsgatan 2, Karlstad, 13:00 (English)
Supervisors
Examiners
Available from: 2023-08-17 Created: 2023-06-28 Last updated: 2023-08-17Bibliographically approved

Open Access in DiVA

fulltext(9870 kB)66 downloads
File information
File name FULLTEXT01.pdfFile size 9870 kBChecksum SHA-512
568a7ac21f054ad6bba7c4dcdd7d50ce33cd7ae032db64d16882f640a572fc2905045e4c87535d49aa6a4d151da0441f8e21ba5f72c91c2587b828665c9229e9
Type fulltextMimetype application/pdf
Arkivfil(9870 kB)38 downloads
File information
File name FULLTEXT02.pdfFile size 9870 kBChecksum SHA-512
568a7ac21f054ad6bba7c4dcdd7d50ce33cd7ae032db64d16882f640a572fc2905045e4c87535d49aa6a4d151da0441f8e21ba5f72c91c2587b828665c9229e9
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Rubak, Adam
By organisation
Department of Mathematics and Computer Science (from 2013)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 104 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 225 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • apa.csl
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf