Ιδρυματικό Αποθετήριο [SANDBOX]
Πολυτεχνείο Κρήτης
EN  |  EL

Αναζήτηση

Πλοήγηση

Ο Χώρος μου

Αυτόματη διαχείριση υπολογιστικών πόρων σε περιβάλλον DockerSwarm

Alexiou Michail

Πλήρης Εγγραφή


URI: http://purl.tuc.gr/dl/dias/FDB8799E-A21F-4BFF-8B30-B8191CFAC3BD
Έτος 2019
Τύπος Διπλωματική Εργασία
Άδεια Χρήσης
Λεπτομέρειες
Βιβλιογραφική Αναφορά Μιχαήλ Αλεξίου, "Αυτόματη διαχείριση υπολογιστικών πόρων σε περιβάλλον DockerSwarm", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2019 https://doi.org/10.26233/heallink.tuc.82297
Εμφανίζεται στις Συλλογές

Περίληψη

To Docker Swarm είναι μία πλατφόρμα ανοιχτού κώδικα ενορχηστρώσεων κιβωτίων εφαρμογών, που διαχειρίζεται ένα σύνολο Docker μηχανών. Tο Docker Swarm χρησιμοποιεί την ίδια γραμμή εντολών με του Docker, για να δημιουργήσει μία από ομάδα από Docker μηχανές (που αποκαλείται σμήνος), να αναπτύξει υπηρεσίες εφαρμογών, να αυξήσει ή μειώσει το πλήθος των τρεχούμενων κιβωτίων εφαρμογών και να διαχειριστεί γενικά τη συμπεριφορά του σμήνους. Ωστόσο, παρά τα πλεονεκτήματα του, το Docker Swarm δεν διαθέτει ακόμα τα απαραίτητα εργαλεία υποστήριξης αυτόματης διαχείρισης υπολογιστικών πόρων μέσα σε κάθε σμήνος, με αποτέλεσμα ένα στατικό περιβάλλον ανάπτυξης εφαρμογών ανίκανο να προσαρμοστείς στις απαιτήσεις μιας online εφαρμογής. Αντίθετα με άλλες ανταγωνιστικές τεχνολογίες, όπως Kubernetes ή το Amazon EC2, που υποστηρίζουν αυτόματη διαχείριση υπολογιστικών πόρων περιβάλλοντα, εξ όσων γνωρίζουμε μέχρι τώρα, δεν υπάρχουν αντίστοιχες λύσεις για το Docker Swarm. Με αυτό το πρόβλημα ασχολείται η δουλειά μας. Χτίζοντας πάνω στο Docker Swarm, προτείνουμε το Elixir, έναν αυτόνομο πράκτορα που τρέχει ένα επίπεδο πάνω από το Docker Swarm (στην πλευρά του παρόχου της υποδομής) και είναι ικανός να διαχειρίζεται πολλαπλές και διαφορετικές ηλεκτρονικές εφαρμογές για κάθε πάροχο, παρακολουθώντας τους εργάτες κόμβους που βρίσκονται σε λειτουργία και απαιτούνται για κάθε εφαρμογή και αυξάνοντας ή μειώνοντας τους χρησιμοποιούμενους πόρους (CPU, Δίσκος κτλ.) όταν είναι απαραίτητο. Οι αποφάσεις για την κλιμάκωση διευκρινίζονται από τον πάροχο της υποδομής και βασίζονται σε μετρήσεις που ελήφθησαν κατά την παρακολούθηση πόρων, όπως ποσοστό χρήσης CPU ή ποσοστό χρήσης μνήμης (ή συνδυασμός και των δύο). Το Elixir συνεισφέρει στην επίτευξη ανοχής σφάλφατος και υψηλής διαθεσιμότητας για ένα σύστημα που διαχειρίζεται ταυτόχρονα πολλαπλές διαδικτυακές εφαρμογές. To Elixir υποστηρίζει οριζόντια κλιμάκωση υπολογιστικών πόρων, που σημαίνει ότι αντί να αναδιαμορφώσει τους υπάρχοντες εργάτες κόμβους κάθε εφαρμογής με υψηλότερα ή χαμηλότερα χαρακτηριστικά (όπως ισχύει στην κάθερη κλιμάκωση), θα προσθέσει/διαγράψει εργάτες κόμβους από το σμήνος της εφαρμογής. Εκτελούμε διάφορα πειράματα με βάση ένα προσομοιωμένο, αλλά ρεαλιστικό σενάριο χρήσης. Τα πειραμτικά αποτελέσματα αποδεικνύουν ότι η χρήση του Elixir σε ένα σύστημα διαχείρισης εφαρμογων, έχει σημαντικό αντίκτυπο στη διαθεσιμότητα αυτής της εφαρμογής και κατ' επέκταση στον χρόνο ανταπόκρισης του συστήματος, κατά τη διάρκεια συνεχόμενα αυξανόμενου φόρτου εργασίας.

Διαθέσιμα αρχεία

Υπηρεσίες

Στατιστικά