Συντάχθηκε 17-02-2026 10:55
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 20/02/2026 15:00
Λήξη: 20/02/2026 16:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Γεωργίου Κυριόπουλου
με θέμα
Τοποθέτηση Μικροϋπηρεσιών σε Υποδομές Cloud-Fog-Edge με χρήση Ενισχυτικής Μάθησης
Microservice Placement in Cloud-Fog-Edge Infrastructures using Reinforcement Learning
Εξεταστική Επιτροπή
Καθηγητής Ευριπίδης Πετράκης (επιβλέπων)
Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
Επίκουρος Καθηγητής Ιωάννης Πευκιανάκης
Περίληψη
Οι σύγχρονες cloud-native εφαρμογές υλοποιούνται συχνά με αρχιτεκτονική μικροϋπηρεσιών και αναπτύσσονται σε κατανεμημένες υποδομές Kubernetes. Σε υποδομές μεγάλης κλίμακας, οι εφαρμογές εκτείνονται συνήθως σε πολλαπλά Kubernetes clusters και οργανώνονται σε τοπολογία cloud-fog-edge. Παρότι αυτή η αρχιτεκτονική στοχεύει στη βελτίωση της διαθεσιμότητας και στη μείωση της αντιλαμβανόμενης καθυστέρησης από τον χρήση, εισάγει παράλληλα το πρόβλημα της τοποθέτησης των υπηρεσιών. Η ετερογενής φύση των επιπέδων cloud, fog και edge, τόσο ως προς τη διαθέσιμη υπολογιστική ισχύ όσο και ως προς την καθυστέρηση του δικτύου, καθιστά τις στατικές στρατηγικές τοποθέτησης ανεπαρκείς σε δυναμικά φορτία.
Η παρούσα διπλωματική εργασία εξετάζει το πρόβλημα της τοποθέτησης υπηρεσιών σε περιβάλλοντα Kubernetes πολλαπλών clusters και προτείνει μια προσέγγιση βασισμένη στη μηχανική μάθηση και πιο συγκεκριμένα στη μέθοδο Deep Q-Learning. Το σύστημα αναπτύσσει έναν πράκτορα ενισχυτικής μάθησης σε κάθε cluster, ο οποίος παρατηρεί τις τοπικές μετρικές του συστήματος και αποφασίζει αν θα αναπτύξει, θα αφαιρέσει ή θα διατηρήσει τις υπηρεσίες. Στόχος του πράκτορα είναι η εξισορρόπηση της απόκρισης των υπηρεσιών και της συνολικής απόδοσης του συστήματος, λαμβάνοντας υπόψη τους περιορισμούς των διαθέσιμων πόρων του κάθε cluster.
Το σύστημα υλοποιείται πάνω σε μια υποδομή Kubernetes με χρήση της διανομής K3s. Η επικοινωνία υλοποιείται μέσω του service mesh Linkerd. Ο πράκτορας βασίζεται σε δεδομένα τα οποία συλλέγονται σε πραγματικό από τα clusters και διαμορφώνουν την κατάσταση του περιβάλλοντος της ενισχυτικής μάθησης.
Για την αξιολόγηση της αποτελεσματικότητας της προσέγγισης, πραγματοποιούνται πειράματα με τη χρήση δύο εφαρμογών βασισμένων στην αρχιτεκτονική μικροϋπηρεσιών. Προκειμένου να προσομοιωθεί η ρεαλιστική συμπεριφορά των χρηστών, δημιουργούνται δυναμικά φορτία. Η απόδοση του πράκτορα αξιολογείται και συγκρίνεται με τις αρχικές στρατηγικές τοποθέτησης.
Τα πειραματικά αποτελέσματα δείχνουν ότι η προτεινόμενη προσέγγιση προσαρμόζεται αποτελεσματικά στις μεταβολές του φορτίου και βελτιώνει τις αποφάσεις με την πάροδο του χρόνου. Αξιοποιώντας το περιβάλλον, το σύστημα επιτυγχάνει χαμηλότερες καθυστερήσεις και πιο αποδοτική αξιοποίηση των διαθέσιμων πόρων. Τα ευρήματα αυτά αναδεικνύουν τη δυναμική της ενισχυτικής μάθησης ως λύση για την τοποθέτηση υπηρεσιών σε κατανεμημένα περιβάλλοντα Kubernetes.
Abstract
Modern cloud-native applications are often built using the microservice architecture and deployed across distributed Kubernetes infrastructures. In large-scale deployments, applications usually span multiple Kubernetes clusters and are organized in a cloud-fog-edge topology. While this architecture focuses on improving availability and reducing user-perceived latency, it also introduces the problem of service placement. The heterogeneous nature of cloud, fog, and edge layers in terms of resource capacity and network latency makes static or heuristic-based placement strategies insufficient under dynamic workloads.
This thesis investigates the problem of service placement in multi-cluster Kubernetes environments and proposes a learning-based approach based on Deep-Q Learning. The system deploys a reinforcement learning agent at each cluster. Each agent observes the local system metrics and decides whether to deploy, remove, or retain services. The objective of the agent is to balance service responsiveness and system throughput while respecting the cluster's resource constraints.
The system is implemented on top of a lightweight Kubernetes infrastructure using a single-node K3s architecture. Inter-cluster communication and traffic routing are handled through the Linkerd service mesh. The agent relies on real-time monitoring data collected from the clusters. These metrics form the environment state of the reinforcement learning model.
To evaluate the approach's effectiveness, experiments are conducted using two microservice-based benchmark applications. Dynamic workloads are generated using a load-testing framework, to simulate realistic user behavior and demand. The performance of the Deep Q-learning-based placement strategy is assessed and compared against baseline placement strategies.
The experimental results demonstrate that the learning-based approach adapts effectively to workload changes and improves service placement decisions over time. By leveraging feedback from the environment, the system achieves lower latencies and more efficient resource utilization. These findings highlight the potential of reinforcement learning as a solution for dynamic service placement in distributed Kubernetes environments.
Meeting ID: 613 764 0471
Password: 582678