Σκοπός αυτής της διπλωματικής εργασίας υπήρξε η διερεύνηση και η μελέτη των κατάλληλων τεχνολογιών με στόχο τη ανάπτυξη και σχεδιασμό διαδικτυακής υπηρεσίας για τη επίβλεψη νέφους αποθήκευσης δεδομένων (storage cloud).
Για τη αποκόμιση των κατάλληλων γνώσεων αρχικά μελετήθηκε το τι είναι cloud computing, ο διαχωρισμός του σε κατηγορίες, ποια τα πλεονεκτήματα και οι ανησυχίες που έχουν οργανισμοί για τη μεταφορά των υπηρεσιών τους σε νέφος. Ειδικό βάρος δόθηκε στη μελέτη των χαρακτηριστικών και την αρχιτεκτονική των νεφών αποθήκευσης δεδομένων (storage clouds). Ακολούθως μελετήθηκαν τα χαρακτηριστικά του αρχιτεκτονικού μοντέλου REST και τα πλεονεκτήματα του έναντι άλλων μοντέλων όπως το SOAP. Έπειτα, μελετήθηκε η γλώσσα σήμανσης HTML5 και δόθηκε ειδικό βάρος στο EventSource API που ειδικεύεται στη λήψη Server-Side Events (SSEs) στη πλευρά του πελάτη. Έπειτα, μελετήθηκε το πρωτόκολλο CDMI (Cloud Data Management Interface) σε αποθηκευτικά νέφη. Τέλος, αναλύθηκαν οι προκλήσεις που συναντάμε στην επίβλεψη νεφών και ειδικά στην επίβλεψη νεφών από τη μεριά του πελάτη (client-side cloud monitoring).
Η διαδικτυακή υπηρεσία που αναπτύχθηκε παρέχει τη δυνατότητα σε χρήστες αποθηκευτικού νέφους, οι οποίοι εγγράφονται στη υπηρεσία μέσω διαδικτύου, να λαμβάνουν πληροφορίες για γεγονότα (events) που συμβαίνουν στο νέφος. Η διαδικτυακή υπηρεσία τρέχει στον περιηγητή του χρήστη χωρίς τη μεσολάβηση αλλού λογισμικού εγκατεστημένο τοπικά στον υπολογιστή. Με τον τρόπο αυτό μεταφέρουμε την επίβλεψη του αποθηκευτικού νέφους στη πλευρά του πελάτη. Η διαδικτυακή υπηρεσία ακολουθεί το αρχιτεκτονικό μοντέλο REST για την επικοινωνία της με το νέφος, υλοποιεί το πρωτόκολλο CDMI και ειδικότερα τις ουρές ειδοποίησης (Notification Queues) ενώ η ενημέρωση του χρήστη γίνεται με τη χρήση HTML5 EventSource.
Αρχικά ο χρήστης δίνει τα στοιχεία του για επαλήθευση από το σύστημα, ακολούθως δημιουργεί μια ουρά γεγονότων και μεταβαίνει στη σελίδα παρακολούθησης γεγονότων όπου αρχίζει η ροή ενημερώσεων από το νέφος προς τον περιηγητή του. Στη σελίδα παρακολούθησης γεγονότων ο χρήστης έχει στη διάθεση του διάφορα εργαλεία όπως κονσόλα άφιξης νέου event και γραφικές παραστάσεις για γραφική πλοήγηση ανάμεσα στα αντικείμενα που φθάνουν μέσω των event από το νέφος.
The objective of this thesis was to research and study the most suitable technologies available to develop and design a web service for monitoring a storage cloud system.
To obtain the proper knowledge initially studied was cloud computing, its separation in different categories, what are the benefits and concerns that organizations face when thinking of transferring their services to the cloud. Special emphasis was given to studying the characteristics and architecture of storage clouds. Next studied were the characteristics of the REST architectural style and its advantages over other models such as SOAP. Afterwards studied was the HTML5 markup language with emphasis given to the EventSource API which specializes in receiving Server-Side Events (SSEs) on the client side. Next, studied was the CDMI (Cloud Data Management Interface) protocol for storage clouds. Finally, we analyzed the challenges encountered in cloud monitoring and especially in client-side cloud monitoring.
The web service developed gives the opportunity to storage cloud users, who subscribe to the service via the internet, to receive information about events that occur in the cloud. The web service runs on the user’s browser without the need of other software installed locally on his desktop. By doing this, we transfer the monitoring of the storage cloud to the client side, discharging the cloud from the work load. The web service uses the REST architectural style for the communication with the cloud, implements the CDMI protocol and especially notification queues while informing the user of new events is done using HTML5 EventSource.
Initially, the user provides the system with his credentials for verification and then creates an event queue. With the creation of a queue, a stream of new events can now start from the cloud to the user’s browser. At the Event Monitoring Page the user has a variety of tools to use such as Event Arrival Console and Graphs for graphical navigation between objects processed that arrived from the cloud.