Institutional Repository
Technical University of Crete
EN  |  EL

Search

Browse

My Space

Fuzzy service placement strategies in Kubernetes

Skevakis Vasileios

Simple record


URIhttp://purl.tuc.gr/dl/dias/8052E48F-67F0-4602-AED0-74F947712C97-
Identifierhttps://doi.org/10.26233/heallink.tuc.92796-
Languageen-
Extent58 pagesen
Extent2 megabytesen
TitleFuzzy service placement strategies in Kubernetesen
Title Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes el
CreatorSkevakis Vasileiosen
CreatorΣκευακης Βασιλειοςel
Contributor [Thesis Supervisor]Petrakis Evripidisen
Contributor [Thesis Supervisor]Πετρακης Ευριπιδηςel
Contributor [Committee Member]Deligiannakis Antoniosen
Contributor [Committee Member]Δεληγιαννακης Αντωνιοςel
Contributor [Committee Member]Samoladas Vasilisen
Contributor [Committee Member]Σαμολαδας Βασιληςel
PublisherΠολυτεχνείο Κρήτηςel
PublisherTechnical University of Creteen
Academic UnitTechnical University of Crete::School of Electrical and Computer Engineeringen
Academic UnitΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
Content SummaryThe continuous rise of microservices-based architectures in application development provided the need for tools that orchestrate containerized applications deployed in cloud infrastructures, such as Kubernetes. A Kubernetes Cluster hosts a finite number of Nodes (VMs), and the application's services are packed in Pods and placed in the Kubernetes Nodes. The default Kubernetes Service Placement is static and does not adapt to workload changes, so the default placement solutions are sub-optimal. Pods must be placed in their respective Nodes in a way that minimizes Node-to-Node (egress) traffic. That way, the infrastructure cost is optimized, and the response time of the requests is minimized since egress traffic is slower than ingress. Modern application workloads require some high-utilized services to run in more than one instance. In this work, the service placement problem is handled as a graph clustering one, aiming to optimize the application by both cost and response time. The graph clustering needs to be fuzzy, to allow a graph's node (Kubernetes Pod) to belong in more than one partition (Nodes). Two applications were deployed in the Kubernetes infrastructure of the Google Cloud Platform to support our fuzzy service placement solution in real use cases (an e-commerce eShop and an IoT architecture). The experimental results demonstrate that our fuzzy placement solution can significantly reduce both the total requested traffic between Nodes and the response time of the applications' requests compared to the placement using the default Kubernetes Scheduler's method. At the same time, our solution can maintain the monetary cost savings of previous related work on cost-optimization in Kubernetes.en
Content SummaryΗ διαρκώς αυξανόμενη χρήση αρχιτεκτονικών μικρο-υπηρεσιών για την ανάπτυξη σύγχρονων εφαρμογών έχει οδηγήσει στην ανάγκη υλοποίησης εργαλείων για τον συντονισμό και τη διαχείριση μικρο-υπηρεσιών, όπως το Kubernetes. Ένα σύμπλεγμα Kubernetes (cluster) μπορεί να φιλοξενήσει έναν πεπερασμένο αριθμό από κόμβους (Εικονικά Μηχανήματα). Οι μικρο-υπηρεσίες της εφαρμογής ομαδοποιούνται σε "pods", τα οποία τοποθετούνται στους κόμβους (nodes) του συμπλέγματος. Η προκαθορισμένη στρατηγική τοποθέτησης στο Kubernetes είναι στατική και δεν προσαρμόζεται στον φόρτο εργασίας της εφαρμογής, οπότε είναι υποβέλτιστη. Τα "pods" πρέπει να τοποθετηθούν στους κόμβους του συμπλέγματος με τέτοιο τρόπο, ώστε να ελαχιστοποιείται η επικοινωνία μεταξύ των κόμβων. Με αυτόν τον τρόπο το κόστος της υποδομής βελτιώνεται και ο χρόνος απόκρισης μειώνεται, καθώς η επικοινωνία μεταξύ υπηρεσιών τοποθετημένων σε διαφορετικούς κόμβους (egress traffic) είναι πιο αργή σε σχέση με την επικοινωνία υπηρεσιών στον ίδιο κόμβο (ingress traffic). Οι σύγχρονες εφαρμογές περιέχουν αντίγραφα (replicas) μικρο-υπηρεσίων, ώστε ο φόρτος εργασίας μιας μικρο-υπηρεσίας να μοιράζεται μεταξύ αντιγράφων της. Στην παρούσα εργασία το πρόβλημα της τοποθέτησης των υπηρεσιών εξετάζεται ως ένα πρόβλημα διχοτόμησης ενός γράφου, με σκοπό τη βελτιστοποίηση του κόστους της υποδομής και του χρόνου απόκρισης των εφαρμογών. Η διχοτόμηση του γράφου πρέπει να είναι ασαφής (fuzzy), ώστε να επιτρέπει σε κόμβους του γράφου (μικρο-υπηρεσίες) να ανήκουν σε ένα ή περισσότερα διαμερίσματα (κόμβους του συμπλέγματος). Η απόδοση της ασαφούς στρατηγικής ελέγχθηκε σε πραγματικά σενάρια χρησιμοποιώντας δύο εφαρμογές (ένα ηλεκτρονικό κατάστημα και μια IoT εφαρμογή), οι οποίες υλοποιήθηκαν στο περιβάλλον Kubernetes της υποδομής νέφους της Google (Google Cloud Platform). Όπως αποδείχθηκε από τα αποτελέσματα των πειραμάτων, η προτεινόμενη ασαφής στρατηγική μπορεί να μειώσει σημαντικά την επικοινωνία μεταξύ των κόμβων και τον χρόνο απόκρισης της εφαρμογής, ενώ μπορεί να επιτύχει την εξοικονόμηση κόστους προηγούμενων συναφών εργασιών. el
Type of ItemΔιπλωματική Εργασίαel
Type of ItemDiploma Worken
Licensehttp://creativecommons.org/licenses/by/4.0/en
Date of Item2022-07-18-
Date of Publication2022-
SubjectKubernetesen
SubjectMicroservicesen
SubjectService placementen
SubjectFuzzy clusteringen
Bibliographic CitationVasileios Skevakis, "Fuzzy service placement strategies in Kubernetes", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2022en
Bibliographic CitationΒασιλείος Σκευάκης, " Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes ", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2022el

Available Files

Services

Statistics