Στις μέρες μας, οι υποδομές Cloud Computing προσφέρουν ευελιξία, διαφάνεια, και ασφά-
λεια για την εκτέλεση ενός συνεχώς αυξανόμενου πλήθους εφαρμογών και υπηρεσιών. Οι
υποδομές αυτές αποτελούνται κατά κανόνα από συστοιχίες υπολογιστών (clusters), χρησιμο-
ποιώντας τεχνικές εικονοποίησης για να διαμοιράσουν τους φυσικούς πόρους σε εικονικούς,
οι οποίοι θα χρησιμοποιηθούν από το cloud περιβάλλον. Οι πάροχοι των cloud υπηρεσιών,
θέλουν οι υπηρεσίες τους να έχουν δυνατότητες κλιμάκωσης (scaling), και να λειτουργούν
με χαμηλούς χρόνους απόκρισης (latency), ανεξαρτήτως του φόρτου των υπηρεσιών τους.
Αρκετοί παράγοντες επηρεάζουν την απόδοση των cloud περιβαλλόντων, όπως το δίκτυο που
χρησιμοποιείται για στη διασύνδεση των φυσικών πόρων, ή το υλικό που χρησιμοποιήθηκε
για την υποδομή, όπως η CPU, η μνήμη, και ο δίσκος. Συνήθως, κάποιο εργαλείο λογισμικού
αναλαμβάνει τη διαχείριση των κόμβων της συστοιχίας των υπολογιστών, όπως και την δια-
χείριση των εικονικών πόρων. Η παρούσα διπλωματική στοχεύει στη βελτίωση της απόδοσης
ενός τέτοιου λογισμικού, και συγκεκριμένα του Ganeti, παρέχοντας υποστήριξη για εναλλα-
κτικές μεθόδους που θα εξυπηρετούν τις απαιτήσεις του εργαλείου σε αποθηκευτικό χώρο. Η
υλοποίησή μας, ενσωματώνει την CouchDB, μία NoSQL βάση διαχείρισης δεδομένων, χωρίς
σχήμα, και προσανατολισμένη γύρω από έγγραφα στο Ganeti, και αξιολογεί την απόδοση
του λογισμικού μετά από αυτή την τροποποίηση. Οι πρώτες μετρήσεις είναι ιδιαίτερα ενθαρ-
ρυντικές, καθώς παρουσιάζουν εμφανή βελτίωση στην απόδοση του Ganeti. Οι λόγοι αυτής
της βελτίωσης θα παρουσιασθούν λεπτομερώς στη συνέχεια της παρούσας διπλωματικής.
Nowadays, cloud computing exhibits agility, transparency, and security to the execution
of a continuously increasing number of applications and services. Those infrastructures
are designed on top of clusters of physical nodes, using virtualization techniques to appropriately
separate the physical resources to create virtual dedicated ones, which will
power the cloud environment. Cloud providers want their applications have the ability to
scale, and operate in low-time latency, regardless of the load of the cloud services. Many
factors affect the performance of those environments such as the network that is used for
the intra-cluster communication, or the underlying hardware resources used, in terms of
CPU, memory, and disk i/o. A software tool is commonly used that manages the physical
nodes of the cluster, and the virtual resources as well. This thesis aims to improve the
performance of such a tool, and specifically Ganeti’s, by providing support for alternative
engines to serve its storage requirements. Our design integrates CouchDB, a NoSQL,
schema-less, and document oriented database in Ganeti, and evaluates the performance of
the tool under the new storage layer. Early performance evaluations look very promising
and show a noteworthy speedup on the performance of Ganeti, that will be discussed in
details in the rest of the document.