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 |
|