HEAL DSpace

Horizontal scalability in cloud environments orchestrated by Kubernetes

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Τζαβάρα, Νεφέλη Παναγιώτα el
dc.contributor.author Tzavara, Nefeli Panagiota en
dc.date.accessioned 2024-05-13T09:16:55Z
dc.date.available 2024-05-13T09:16:55Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/59333
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.27029
dc.rights Default License
dc.subject Βαθιά Μάθηση el
dc.subject Deep Learning en
dc.subject Kubernetes en
dc.subject Deep Q Learning en
dc.subject Reinforcement Learning en
dc.subject LSTM en
dc.subject Οριζόντια κλιμακωσιμότητα el
dc.subject Πρόβλεψη χρονοσειράς el
dc.subject Horizontal Scaling en
dc.subject Time series forecasting en
dc.title Horizontal scalability in cloud environments orchestrated by Kubernetes en
heal.type bachelorThesis
heal.classification Electrical and Computer Engineering en
heal.language el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2023-11-02
heal.abstract 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
heal.advisorName Koziris, Nectarios en
heal.committeeMemberName Tsoumakos, Dimitrios en
heal.committeeMemberName Konstantinou, Ioannis en
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 71 σ. el
heal.fullTextAvailability false


Αρχεία σε αυτό το τεκμήριο

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής