Auto Scaling in the Cloud: An Evaluation of Kubernetes

Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Autoscaling is a crucial component of cloud computing, adjusting the amount of available resources dynamically to match service demand. Modifications to resource pools are required to maintain user-defined highest and lowest boundaries on performance metrics such as utilisation level. Today, the cloud business is embracing container technology for large-scale systems for internal and commercial purposes. That is because containers provide plenty of features, including a constant lightweight runtime environment provided by operating system virtualisation, as well as reduced overhead for maintaining and scaling applications. For instance, Kubernetes, which is currently the de facto cloud-based container orchestration framework, as recent advances have demonstrated. This is because of the features that Kubernetes delivers to the market, including an application-centric interface and plug-and-play horizontal scaling processes. Autoscaling has a vast set of academic research to draw on, but while Kubernetes offers several autoscaling algorithms, they are widely unexplored. The aim of this project is to evaluate the performance of the Kubernetes cluster Autoscaler, which can be configured to perform a range of autoscaling types from a single node pool (CA). Microsoft Azure provides the Kubernetes environment for the experiments. The experiments support the findings by altering the autoscaling type and workload over time. For instance, horizontal pod autoscaling and cluster autoscaling are being examined in this project for a variety of workloads. Additionally, this project tests the TeaStore microservices application's behaviour using the JMeter application via experiments on Azure Kubernetes clusters, hence analysing the Autoscaler performance of the Kubernetes cluster. Additionally, Prometheus is utilised to collect Prometheus Custom Metrics (PCM) data in terms of CPU utilisation and Grafana is used to visualise the results. The project's findings indicate that the performance of the Kubernetes cluster Autoscaler is affected by the size of the cluster's nodes, regardless of the cluster's overall size in both forms of autoscaling investigated. As a result, autoscaling Kubernetes clusters with a large node size perform better and faster than clusters with a small node size. However, clusters with a large size of nodes consume more resources than clusters with a small size of nodes

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By

Copyright owned by the Saudi Digital Library (SDL) © 2025