15
Μαϊ
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Αποστόλου Ζαχαρόπουλου
με θέμα
Μέθοδοι Ελαχίστου Κόστους για την Τοποθέτηση Μικρο-υπηρεσιών σε Περιβάλλον Kubernetes και Υβριδικές Υποδομές Υπολογιστικού Νέφους και Ομίχλης
Minimum Cost Microservice Placement Strategies in Kubernetes for Hybrid Cloud-Fog Infrastructures
Εξεταστική Επιτροπή
Καθηγητής Ευριπίδης Πετράκης (επιβλέπων)
Καθηγητής Μιχαήλ Λαγουδάκης
Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
Περίληψη
Σε αυτή τη διπλωματική, εξετάζουμε τεχνικές για τη μείωση κόστους τοποθέτησης μικροϋπηρεσιών σε περιβάλλοντα Cloud-Fog, με στόχο την μείωση του χρόνου απόκρισης και τη βελτίωση της εμπειρίας του χρήστη σε κατανεμημένα υπολογιστικά συστήματα. Καθώς το Διαδίκτυο των Πραγμάτων (IoT) πληθαίνει τις συνδεδεμένες συσκευές στον παγκόσμιο ιστό, η ανάγκη για διαχείριση των δεδομένων αυξάνεται.
Η έρευνά μας χρησιμοποιεί ένα στατικό μοντέλο τοποθέτησης σε μια τοπολογία πέντε κόμβων με Kubernetes clusters, που περιλαμβάνει έναν Cloud κόμβο, δύο Fog και δύο Edge κόμβους, με τη διαθεσιμότητα πόρων να μειώνεται όσο απομακρυνόμαστε από το Cloud. Αναλύουμε δύο εφαρμογές μικροϋπηρεσιών ως Διατεταγμένους Ακυκλικούς Γράφους (DAGs) για να αναδείξουμε τις τεχνικές τοποθετήσεων των μικροϋπηρεσιών στην τοπολογία.
Μια σημαντική συνεισφορά της διατριβής είναι η ανάπτυξη ενός ευρετικού αλγορίθμου για την τοποθέτηση μικροϋπηρεσιών, ο οποίος αξιοποιεί τις μετρήσεις από εκτεταμένα benchmarks των εφαρμογών για τη δημιουργία συγγένειας μεταξύ μικροϋπηρεσιών. Αυτό βοηθά στην καλύτερη ανάπτυξη και διαχείριση των πόρων, καθώς και στη μείωση των καθυστερήσεων, ενισχύοντας την τελική εμπειρία του χρήστη στα περιβάλλοντα Cloud-Fog.
Abstract
This thesis investigates cost-effective strategies for deploying microservices in Cloud-Fog environments to improve response times and user experience in distributed computing. As the Internet of Things (IoT) proliferates, increasing the number of internet-connected devices, both cloud and Fog computing (which uses nodes closer to the user) have become crucial in managing the resulting data influx.
Our research utilizes a static deployment model within a structured five-node topology, incorporating Kubernetes clusters. This configuration comprises one Cloud node, two Fog nodes, and two Edge nodes, with resources diminishing further from the Cloud. We examine two microservice-based applications, modeled as Directed Acyclic Graphs (DAGs), to showcase our methods.
A key contribution of this work is the creation of a heuristic algorithm for microservice placement designed to optimize resource use and reduce latency within our specified infrastructure. This algorithm uses detailed benchmarking data to establish microservice affinities, guiding deployment decisions to enhance overall efficiency and user satisfaction in Cloud-Fog setups.