Horizontal scalability in cloud environments orchestrated by Kubernetes

δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*



Horizontal scalability in cloud environments orchestrated by Kubernetes (EN)

Τζαβάρα, Νεφέλη Παναγιώτα (EL)
Tzavara, Nefeli Panagiota (EN)

ntua (EL)
Konstantinou, Ioannis (EN)
Tsoumakos, Dimitrios (EN)
Koziris, Nectarios (EN)

bachelorThesis

2023-11-02
2024-05-13T09:16:55Z


Taking a look into the 21st century’s distinctive features, it is prevalent that the volume of data produced is constantly rising, more than ever. Recent technological innovations in computer science and services have now made possible the remote computation of large data in distributed systems and/or cloud services. The remote computation in these frameworks is made possible by the use of microservices that can run independently in containers who have also become very popular. The organising, or more commonly, the "orchestration" of containers is done by the so called orchestrators, the most popular one being Kubernetes, which is an open-source software. Kubernetes is responsible for scheduling pods in the different nodes of a cluster and also for making decisions about the scale of the cluster. Pods are units that encapsulate collections of containers and are excetuted inside nodes. The scale of the cluster plays a crucial role, as the computational needs of different services are variant and the cluster must be able to withstand the different usage scenarios (e.g. large traffic in a server) . Thus, efficient scaling lies in making efficient and timely predictions about how many and which resources will be allocated to certain processes, so that system failure is avoided and idleness of the resources is minimized. In this thesis, we begin by studying the Kubernetes architecture and the different scaling concepts with a focus on horizontal scaling, meaning the scaling where the number cluster nodes is modified. For our tests, we study the CPU usage in a cluster orchestrated by Kubernetes. Namely, we study anonymized data collected over 15 days from a production server in CERN that contain CPU usage data over time. We perform exploratory data analysis to further understand the data and proceed to develop forecasting models for CPU usage predictions. At last, we develop a reinforcement learning agent with a policy of minimizing CPU usage based on horizontal scaling of the cluster. Our ultimate goal is to propose a proactive custom resource allocator that can be integrated into a Kubernetes cluster, so that the scaling decisions are based on CPU usage prediction and thus a provision of the necessary number of nodes. (EN)


Οριζόντια κλιμακωσιμότητα (EL)
Πρόβλεψη χρονοσειράς (EL)
Βαθιά Μάθηση (EL)
Deep Q Learning (EN)
LSTM (EN)
Reinforcement Learning (EN)
Time series forecasting (EN)
Horizontal Scaling (EN)
Deep Learning (EN)
Kubernetes (EN)

Ελληνική γλώσσα
Αγγλική γλώσσα

Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών (EL)

Default License




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.