Automatic container profiling and resource prediction using container orchestration Predicting containerized cloud application’s resource allocation using automatic container profiling and container orchestration

Publicerad

Typ

Examensarbete för masterexamen

Program

Modellbyggare

Tidskriftstitel

ISSN

Volymtitel

Utgivare

Sammanfattning

As more organizations are moving to a cloud-based infrastructure,it is becoming increasingly important to consider efficient resource management. Cloud technologies such as container orchestrators offer simplified solutions that may help an organization scale its clusters based on pre-defined thresholds set by the organization. However, there is a risk of over-allocating resources if these threshold values are inaccurate or set in an ad-hoc manner. Previous research has successfully used artificial intelligence and machine learning to dynamically adjust the size of the cluster by predicting the future resource needs on a virtual machine. However, while it may provide a good indication on which direction the cluster is changing, the underlying cause of the change is lost. Therefore, this thesis aims to explore, evaluate, and implement an automatic profiler for containerized applications so that organizations may track and estimate both their containers’ and the total cluster’s resource needs. Furthermore, this thesis gives answers to the research questions: how can containers be profiled to describe their actual usage of resources accurately and whether or not a profile-based cluster lead to less resource consumption. The study was done as a case study in collaboration with Ericsson. By involving an industrial partner, live data from both a test and a production environment hosted by Ericsson was used in the analysis. The outcome of the study was a system comprised of three submodules. First, a data collector that automatically registers containers and their historical resource usage in a database by querying the metrics API of the container orchestrator. Next, a system that queries the database and, using K-means clustering, assigns labels to each container based on their relative resource usage. Finally, a predictor, based on a recurrent neural network and long short-term memory cells, that predicts a container’s future resource needs. The results show that historical records of a container’s resource usage are an effective way of profiling individual containers. By aggregating all containers’, the total resource usage of the cluster is easily obtained without losing track of individual containers. The total resource usage may also be transformed to represent the actual nodecount needed at any given time, which may help an organization adjust its node count to more optimally fit the actual need. Furthermore, by dynamically adjusting the node count according to the predictions, the analysis shows that there are financial savings to be made when comparing against a constant node count.

Beskrivning

Ämne/nyckelord

computer science, machine learning, cloud computing, container orchestration, container profiling, container labeling, resource predictions, apcera, kubernetes

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced