Adaptive Resource Scaling Algorithm for Serverless Computing Applications

Author/s:

Mohammed Ali Awla
Department of Computer Engineering
University of Kurdistan
Email: mohammed.awla@uok.ac.ir

Sadoon Azizi
Department of Computer Engineering
University of Kurdistan
Email: s.azizi@uok.ac.ir

Ayshe Rashidi
ICT Organization
Sanandaj Municipality
Email: a.rashidi@gmail.com

DOI: https://doi.org/10.31972/iceit2024.050

Abstract

Serverless computing has transformed cloud-based and event-driven applications by introducing the Function-as-a-Service (FaaS) model. This model offers key benefits, including greater abstraction from underlying infrastructure, simplified management, flexible pay-as-you-go pricing, and automatic scaling and resource optimization. However, managing resources effectively in serverless environments remains challenging due to the inherent variability and unpredictability of workload demands. This paper introduces an Adaptive Resource Scaling Algorithm (ARSA) tailored for serverless applications. ARSA leverages the Auto-Regressive Integrated Moving Average (ARIMA) model to forecast workload demands. Using these predictions alongside a strategy focused on maintaining service quality, ARSA dynamically adjusts the number of container instances needed. The goal is to optimize resource usage while minimizing the occurrence of cold starts. We validated ARSA using a real-world dataset from Microsoft Azure Functions. Our evaluation compared ARSA against fixed instance settings (one, two, and three instances) and the standard Kubernetes Horizontal Pod Auto-scaler (HPA). The results demonstrate that ARSA outperforms these baseline methods by significantly reducing number of cold starts, improving CPU utilization, decreasing memory costs, reducing the number of rejected requests, and enhancing response times. These improvements underscore ARSA’s potential in efficiently managing dynamic workloads and enhancing the performance of serverless environments.

Keywords: Serverless Computing, Function as a Service, Resource Provisioning, Cold Start Delay, Auto-Scaling, ARIMA, Workload Prediction.

Read the full paper

Scroll to Top