Το έργο με τίτλο Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes από τον/τους δημιουργό/ούς Skevakis Vasileios διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Βασιλείος Σκευάκης, " Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes ", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2022
https://doi.org/10.26233/heallink.tuc.92796
Η διαρκώς αυξανόμενη χρήση αρχιτεκτονικών μικρο-υπηρεσιών για την ανάπτυξη σύγχρονων εφαρμογών έχει οδηγήσει στην ανάγκη υλοποίησης εργαλείων για τον συντονισμό και τη διαχείριση μικρο-υπηρεσιών, όπως το Kubernetes. Ένα σύμπλεγμα Kubernetes (cluster) μπορεί να φιλοξενήσει έναν πεπερασμένο αριθμό από κόμβους (Εικονικά Μηχανήματα). Οι μικρο-υπηρεσίες της εφαρμογής ομαδοποιούνται σε "pods", τα οποία τοποθετούνται στους κόμβους (nodes) του συμπλέγματος. Η προκαθορισμένη στρατηγική τοποθέτησης στο Kubernetes είναι στατική και δεν προσαρμόζεται στον φόρτο εργασίας της εφαρμογής, οπότε είναι υποβέλτιστη. Τα "pods" πρέπει να τοποθετηθούν στους κόμβους του συμπλέγματος με τέτοιο τρόπο, ώστε να ελαχιστοποιείται η επικοινωνία μεταξύ των κόμβων. Με αυτόν τον τρόπο το κόστος της υποδομής βελτιώνεται και ο χρόνος απόκρισης μειώνεται, καθώς η επικοινωνία μεταξύ υπηρεσιών τοποθετημένων σε διαφορετικούς κόμβους (egress traffic) είναι πιο αργή σε σχέση με την επικοινωνία υπηρεσιών στον ίδιο κόμβο (ingress traffic). Οι σύγχρονες εφαρμογές περιέχουν αντίγραφα (replicas) μικρο-υπηρεσίων, ώστε ο φόρτος εργασίας μιας μικρο-υπηρεσίας να μοιράζεται μεταξύ αντιγράφων της. Στην παρούσα εργασία το πρόβλημα της τοποθέτησης των υπηρεσιών εξετάζεται ως ένα πρόβλημα διχοτόμησης ενός γράφου, με σκοπό τη βελτιστοποίηση του κόστους της υποδομής και του χρόνου απόκρισης των εφαρμογών. Η διχοτόμηση του γράφου πρέπει να είναι ασαφής (fuzzy), ώστε να επιτρέπει σε κόμβους του γράφου (μικρο-υπηρεσίες) να ανήκουν σε ένα ή περισσότερα διαμερίσματα (κόμβους του συμπλέγματος). Η απόδοση της ασαφούς στρατηγικής ελέγχθηκε σε πραγματικά σενάρια χρησιμοποιώντας δύο εφαρμογές (ένα ηλεκτρονικό κατάστημα και μια IoT εφαρμογή), οι οποίες υλοποιήθηκαν στο περιβάλλον Kubernetes της υποδομής νέφους της Google (Google Cloud Platform). Όπως αποδείχθηκε από τα αποτελέσματα των πειραμάτων, η προτεινόμενη ασαφής στρατηγική μπορεί να μειώσει σημαντικά την επικοινωνία μεταξύ των κόμβων και τον χρόνο απόκρισης της εφαρμογής, ενώ μπορεί να επιτύχει την εξοικονόμηση κόστους προηγούμενων συναφών εργασιών.