Tien Van Do

and 5 more

With the growing adoption of network function virtualization, telco core network elements and network functions will increasingly be designed and deployed as cloud-native application instances. To ensure the efficient use of virtualised resources and meet diverse requirements for quality of services a resource scaling algorithm is used to scale the the number of application instances up or down depending on variations in offered traffic from customers. Most of the observed performance metrics for a service are a function of the current customer traffic and the current number of application instances providing the service. The ubiquitous use of Kubernetes, the popular open-source framework for deployment and management of cloud-native functions, has resulted in variants of the Kubernetes Horizontal Pod Autoscaling (HPA) algorithm being widely used to change the number of application instances providing network functions as traffic demands vary. This change is done by determining whether a selected performance metric of interest is outside a range set by two input parameters (the desired metric value and the tolerance parameter). In this paper, we invesitigate the characteristics of the HPA algorithms and prove that there are only a finite number of intervals for its tolerance parametere. Further any choice of the tolerance parameter from each interval leads to similar computational decisions on the recommended number of application instances. As a consequence, the number of parameter setting choices is finite due to the rule that the desired metric value can only be an integer in specific ranges. Additionally, we investigate the use of HPA for scaling application instances that provide session-based services and establish lower and the upper bounds for performance of the HPA scaling algorithms in this scenario. Our contributions can help operators find appropriate parameter settings efficiently-administrators of Kubernetes clusters only need to select parameters from a limited and finite number of choices (instead of infinite) for scaling cloud-native applications.