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

Αναζήτηση

Πλοήγηση

Ο Χώρος μου

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

Alexiou Michail

Απλή Εγγραφή


URIhttp://purl.tuc.gr/dl/dias/FDB8799E-A21F-4BFF-8B30-B8191CFAC3BD-
Αναγνωριστικόhttps://doi.org/10.26233/heallink.tuc.82297-
Γλώσσαen-
Μέγεθος48 pagesel
ΤίτλοςSupport auto-scaling in DockerSwarmen
ΤίτλοςΑυτόματη διαχείριση υπολογιστικών πόρων σε περιβάλλον DockerSwarmel
ΔημιουργόςAlexiou Michailen
ΔημιουργόςΑλεξιου Μιχαηλel
Συντελεστής [Επιβλέπων Καθηγητής]Petrakis Evripidisen
Συντελεστής [Επιβλέπων Καθηγητής]Πετρακης Ευριπιδηςel
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Lagoudakis Michailen
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Λαγουδακης Μιχαηλel
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Sotiriadis Steliosen
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Σωτηριαδης Στελιοςel
ΕκδότηςΠολυτεχνείο Κρήτηςel
ΕκδότηςTechnical University of Creteen
Ακαδημαϊκή ΜονάδαTechnical University of Crete::School of Electrical and Computer Engineeringen
Ακαδημαϊκή ΜονάδαΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
ΠερίληψηDocker Swarm is an open-source container orchestration platform natively managing a cluster of Docker engines. Docker Swarm utilizes the same command line from Docker to create a cluster of Docker engines (referred to as a swarm), deploy application services to a swarm, scale up or down containers running inside swarm nodes, and manage swarm behavior in general. Yet for all its advantages, Docker Swarm currently lacks the necessary tools for supporting automatic scaling of resources inside each swarm, resulting in a rather static environment incapable of adapting to the requirements of an online application. Unlike other competing tehcnologies, such as Kubernetes or Amazon EC2, which support auto-scaling in a containerized environment, to the best of our knowledge, no such solutions exist for Docker Swarm. This is exactly the problem our work is dealing with. Building upon Docker Swarm, we propose Elixir, an autonomous agent that runs on top of Docker Swarm (i.e. the infrastructure provider side) and is capable of managing multiple and different online applications for each provider, monitoring the running worker nodes (Virtual Machines) required by each application, and automatically scaling up or down the used resources (CPU, Disk, etc.) on demand when necessary. The decisions for scaling are determined by the infrastructure provider and are based on resources metrics measured in real time such as CPU, or memory usages (or a combination of the above), during monitoring. Elixir contributes to achieving fault tolerance and high availability for a Docker Swarm system managing multiple applications rather than a single application. Elixir’s node scaling approach is horizontal meaning that rather than reconfiguring the worker nodes of each application with larger or smaller characteristics (as would be in the case of vertical scaling), it will add/delete worker nodes with the same characteristics to the application’s swarm. We run several experiments based on a simulated, but realistic use case scenario. The experimental results demonstrate that the implementation of Elixir in a system managing an application, has a significant impact on the availability and response time of an application charged constantly with an increasing workload.en
Περίληψη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 σε ένα σύστημα διαχείρισης εφαρμογων, έχει σημαντικό αντίκτυπο στη διαθεσιμότητα αυτής της εφαρμογής και κατ' επέκταση στον χρόνο ανταπόκρισης του συστήματος, κατά τη διάρκεια συνεχόμενα αυξανόμενου φόρτου εργασίας.el
ΤύποςΔιπλωματική Εργασίαel
ΤύποςDiploma Worken
Άδεια Χρήσηςhttp://creativecommons.org/licenses/by/4.0/en
Ημερομηνία2019-06-27-
Ημερομηνία Δημοσίευσης2019-
Θεματική ΚατηγορίαCloud computingen
Θεματική ΚατηγορίαAutomatic scalabilityen
Θεματική ΚατηγορίαScalable systemen
Θεματική ΚατηγορίαLoad balancingen
Βιβλιογραφική ΑναφοράMichail Alexiou, "Support auto-scaling in DockerSwarm", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2019en
Βιβλιογραφική ΑναφοράΜιχαήλ Αλεξίου, "Αυτόματη διαχείριση υπολογιστικών πόρων σε περιβάλλον DockerSwarm", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2019el

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

Υπηρεσίες

Στατιστικά