HEAL DSpace

Ενορχήστρωση συστημάτων αποθήκευσης δεδομένων με χρήση χειριστών στο περιβάλλον Kubernetes: Μελέτη περίπτωσης βασισμένη στην Cassandra

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Ιωάννης, Ζαρκάδας el
dc.contributor.author Ioannis, Zarkadas en
dc.date.accessioned 2019-07-15T08:29:05Z
dc.date.available 2019-07-15T08:29:05Z
dc.date.issued 2019-07-15
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/49064
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.16504
dc.rights Αναφορά Δημιουργού 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by/3.0/gr/ *
dc.subject Kubernetes en
dc.subject Κατανεμημένη αποθήκευση el
dc.subject Κατανεμημένα συστήματα el
dc.subject Cassandra en
dc.subject Operators en
dc.subject Containers en
dc.subject Stateful applications en
dc.subject Συστήματα αποθήκευσης δεδομένων el
dc.subject Κυβερνήτης el
dc.subject Κασσάνδρα el
dc.title Ενορχήστρωση συστημάτων αποθήκευσης δεδομένων με χρήση χειριστών στο περιβάλλον Kubernetes: Μελέτη περίπτωσης βασισμένη στην Cassandra el
dc.title Orchestrating stateful workloads using Kubernetes operators: A Cassandra case study en
heal.type bachelorThesis
heal.classification Κατανεμημένα συστήματα el
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2019-03-20
heal.abstract Η διαχείριση εφαρμογών αποθήκευσης δεδομένων ήταν ανέκαθεν ένα δύσκολο και ακριβό πρόβλημα. Οι εφαρμογές αποθήκευσης δεδομένων και συγκεκριμένα οι κατανεμημένες βάσεις δεδομένων, απαιτούν ιδιαίτερη προσοχή στη διαχείρισή τους, καθώς περιέχουν πολίτιμα δεδομένα και λάθος χειρισμοί μπορούν να αποτελέσουν αιτία απώλειάς τους. Δεν είναι τυχαίο ότι έχουν αναπτυχθεί πολλά επιχειρηματικά μοντέλα γύρω από την παροχή υπηρεσιών αποθήκευσης δεδομένων χωρίς την ανάγκη διαχείρισης του συστήματος, το λεγόμενο Software as a Service (SaaS). Στο πλαίσιο αυτό, η Apache Cassandra είναι μία κατανεμημένη βάση δεδομένων, η οποία χρησιμοποιείται με επιτυχία, εδώ και πολλά χρόνια, σε production περιβάλλοντα (πχ Netflix). Η διαχείρισή της όμως, παραμένει δύσκολη και απαιτεί προσεκτικές κινήσεις και καλή γνώση του διαχειριστή. Έχουν υπάρξει προσπάθειες αυτοματοποίησης της διαχείρισης της Cassandra, αλλά μέχρι τώρα είναι είτε κλειστό εμπορικό λογισμικό, είτε δουλεύουν μόνο σε συγκεκριμένους Cloud Providers. Από την άλλη, ο Kubernetes είναι μία πλατφόρμα διαχείρισης εργασιών σε Containers, που τρέχει σε οποιοδήποτε περιβάλλον (Cloud, On-Prem) και προσφέρει αρκετή έτοιμη λειτουργικότητα για διαχείριση εφαρμογών αποθήκευσης δεδομένων. Θέλουμε λοιπόν να φτιάξουμε ένα λογισμικό διαχείρισης της Apache Cassandra, το οποίο θα είναι ανοιχτού κώδικα και θα μπορεί να λειτουργήσει σε οποιοδήποτε περιβάλλον. Για τον λόγο αυτό, θα προσπαθήσουμε να αναπτύξουμε το λογισμικό διαχείρισης της Cassandra πάνω στην πλατφόρμα Kubernetes. Θα αξιολογήσουμε τις έτοιμες λύσεις που προσφέρει ο Kubernetes για τη διαχείριση λογισμικού αποθήκευσης δεδομένων, θα δούμε γιατί δεν μπορούν να χρησιμοποιηθούν όπως είναι για την Cassandra και θα τις επεκτείνουμε ώστε να τρέξουμε μια λειτουργική Cassandra με πλήρως αυτοματοποιημένη διαχείριση. el
heal.abstract In this thesis, we present the design and implementation of Cassandra-Operator, a management layer for Apache Cassandra which leverages the Kubernetes platform to achieve cross-cloud compatibility and beneft from existing Kubernetes primi- tives. Te proposed design is based on the Operator Patern [1], in which the man- agement layer uses the Kubernetes API to control the infrastucture and the etcd database of Kubernetes for persistent storage. Our case focuses on Apache Cassan- dra, because of its popularity, difculty to manage and lack of good open-source solutions. Te Cassandra Operator leverages the best-of-breed paterns to provide Cassandra with automated deployment, scaling, self-healing, monitoring, backups and restores. In the last years, the amount of data produced has grown exponentially into un- precedented scale. Tis brought the need for scalable storage systems, capable of handling the ever-growing amount of new data and enable users to quickly query, process and analyze them. A new paradigm emerged, one that was designed to run in a distributed and fault-tolerant way. Tat paradigm was NoSQL and it has since made huge advances, both in scientifc literature as well as real-world systems. While the technology powering these systems is mature, there is still much manual work involved in managing such a complex system. Each database requires its own set of actions to perform the creation of a new cluster, scaling up or down, replacing a dead member, monitoring, health checks, backups and restores. In addition, those actions require provisioning and management of machines and because each cloud provider has its own commands for these actions, it means management sofware made for one cloud-provider will not work on an- other. Kubernetes is a platform that abstracts the underlying infrastructure and also provides us with helpful primitives to run stateful workloads. Kubernetes gives us the ability to develop a management layer, called a Kubernetes Operator, which will run as a regular Kubernetes workload, interface with the Kubernetes API to leverage built-in primitives and use the Kubernetes etcd database for persistent storage. en
heal.advisorName Κοζύρης, Νεκτάριος el
heal.advisorName Κούκης, Βαγγέλης el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Παπασπύρου, Νικόλαος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 228 σ. el
heal.fullTextAvailability true


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού 3.0 Ελλάδα