Cross - layer monitoring and adaptation of multi - cloud service - based applications
Authors: Ζεγκίνης Χρυσόστομος 
Published: August 2021

Τα τελευταία χρόνια, η Υπηρεσιοστρεφής Αρχιτεκτονική έχει αναδειχθεί στον συνηθέστερα χρησιμοποιούμενο τρόπο διάθεσης λογισμικού, με την αξιοποίησηηλεκτρονικών υπηρεσιών που είναι διάθεσιμες μέσω ειδικών αποθετηρίων στοδιαδίκτυο. Προσφέρει πολλές ευκαιρίες αυτοματοποίησης διεργασιών στις επιχειρήσεις, παρέχοντας στους τελικούς χρήστες είτε απλές υπηρεσίες, είτε άλλες πιο σύνθετες, μέσω κατάλληλων διεπαφών. Η επιτυχία των προγραμμάτων που έχουν ως αντικείμενο τις ηλεκτρονικές υπηρεσίες έχει αποδείξει ότι οι υπάρχουσες τεχνολογίες είναι επαρκείς, για να αναπτύξει κάποιος μια κατάλληλη εφαρμογή βασισμένη στην υπηρεσιοστρεφή αρχιτεκτονική. Η εξέλιξη όμως των ηλεκτρονικών υπηρεσιών τα τελευταία χρόνια δείχνει, ότι η τάση είναι όχι τόσο στην απλή ανταλλαγή πληροφορίας μεταξύ της υπηρεσίας και του χρήστη, αλλά στη σύνθεση των υπαρχόντων υπηρεσιών για τη δημιουργία σύνθετων εφαρμογών. Επομένως, οι επιχειρήσεις μπορούν να αναπτύξουν σύνθετες προσαρμόσιμες υπηρεσιοστρεφείς εφαρμογές, εκμεταλλευόμενες παράλληλα παλαιότερες τεχνολογίες που χρησιμοποιούνταν σε τοπικές και απομακρυσμένες εφαρμογές.Με τον ερχομό του 21ου αιώνα αρκετές νέες τεχνολογίες εισήχθησαν για να συμπληρώσουν και να επεκτείνουν τις δυνατότητες της υπηρεσιοστρεφούς αρχιτεκτονικής, έτσι ώστε να συμβαδίζει με τη νέα τάση του “Διαδικτύου των πραγμάτων” (Internet of Things), το οποίο αναφέρεται στην διασύνδεση των μοναδικών υπολογιστκών μηχανών με την υπάρχουσα υποδομή του διαδικτύου. Το υπολογιστικό νέφος (Cloud computing) είναι μια τέτοια σύγχρονη τεχνολογία που γνώρισε ιδιαίτερη ανάπτυξη την τελευταία δεκαετία και κύριο γνώρισμά του είναι ηπαροχή υπηρεσιών σε διάφορα επίπεδα στους τελικούς χρήστες: (i) Software-as-a-Service (SaaS) είναι η παροχή εφαρμογών στους χρήστες μέσω του διαδικτύου από τους παρόχους υπολογιστικού νέφους, (ii) Platform-as-a-Service (PaaS) αναφέρεται στην παροχή μιας ενδιάμεσης πλατφόρμας στους σχεδιαστές εφαρμογών για να προσφέρουν τις υπηρεσίες τους και (iii) Infrastructure-as-a-Service (IaaS) είναι ένα μοντέλο για τις εικονικές μηχανές (virtual machines) που προσφέρουν οι πάροχοιυπολογιστικού νέφους και απαιτούνται από τα άλλα δύο επίπεδα.Ωστόσο, η δυναμική φυση των ηλεκτρονικών υπηρεσιών και το ευάλωτο περιβάλλον εκτέλεσής τους, επιβάλουν την παρακολούθηση τόσο των λειτουργικών όσο και των ποιοτικών χαρακτηριστικών τους. Αυτή η διαδικασία επιτρέπει επίσης την προσαρμογή των ηλεκτρονικών υπηρεσιών με βάση τις νέες απαιτήσεις που ανακύπτουν κατά τη διάρκεια εκτέλεσής τους. Αυτή η διδακτορική διατριβή εισάγει ένα πλαίσιο εφαρμογής (ECMAF) για την παρακολούθηση και προσαρμογή των εφαρμογών που βασίζονται σε ηλεκτρονικές υπηρεσίες και οι οποίες αναπτύσσονται σε πολλαπλά υπολογιστικά νέφη. Εντούτοις, οι δύο προαναφερθείσες αλληλένδετες αρχιτεκτονικές είναι πολυεπίπεδες και εμπλέκουν ένα σύνολο από συνιστώσες μεγάλου εύρους, από αφηρημένες επιχειρησιακές διεργασίες ως και συγκεκριμένες υπολογιστικές υποδομές. Επομένως, οι διαδικασίες της παρακολούθησης και της προσαρμογής πρέπει να λαμβάνουν υπόψιν όλα αυτά τα επίπεδα, για να μπορούν να χειριστούν αποτελεσματικά τον μεγάλο όγκο των γεγονότων παρακολούθησης και να εξάγουν κατάλληλες στρατηγικές προσαρμογής. Η προτεινόμενη προσέγγιση συνδυάζει τα γεγονότα παρακολούθησης και εξερευνά μοτίβα γεγονότων, τα οποία οδηγούν σε παραβάσεις των ορίων συγκεκριμένων μετρικών, που ορίζονται στα έγγραφα Service-level Agreement (SLAs).Προκειμένου να ελεγχθεί η εφαρμοσιμότητα και να αναδειχθούν τα πλεονεκτήματα του προτεινόμενου πλαισίου εφαρμογής, στα πλαίσια αυτής της διατριβής υλοποιήθηκε μια εφαρμογή διαχείρισης της κυκλοφορίας στους δρόμους μίας πόλης. Στη συνέχεια αυτή η εφαρμογή αναπτύχθηκε σε ένα περιβάλλον πολλαπλών υπολογιστικών νεφών, τα οποία ικανοποιούν διαφορετικές απαιτήσεις των επιμέρους ηλεκτρονικών υπηρεσιών που απαρτίζουν την εφαρμογή. Τα συστατικά στοιχεία αυτών των υπολογιστικών νεφών έχουν πολλές εξαρτήσεις μεταξύ τους, σε όλα τα επίπεδα της υπηρεσιοστρεφούς αρχιτεκτονικής και της αρχιτεκτονικής υπολογιστικού νέφους. Το προτεινόμενο σύστημα ανακαλύπτει και εκμεταλλεύεται αυτές τις εξαρτήσεις, για να εξάγει από τα γεγονότα παρακολούθησης έγκυρα μοτίβα που επιφέρουν παραβιάσεις συγκεκριμένων μετρικών. Τα τελευταία υφίστανται περαιτέρω επεξεργασία για την εξαγωγή πιο πολύπλοκων μοτίβων, τα οποία αντιστοιχίζονται σε κατάλληλες στρατηγικές προσαρμογής. Για την μοντελοποίηση των εξαρτήσεων έχουμε αναπτύξει ένα ειδικό μετα-μοντέλο, τοοποίο αποτυπώνει όλα τα εμπλεκόμενα συστατικά στοιχεία και τις μεταξύ τουςσχέσεις. Οι αλληλεξαρτήσεις αυτές εμπλουτίζονται επίσης κατά το χρόνο εκτέλεσης για να αντικατοπτρίζουν τη νέα συμπεριφορά του συστήματος, μετά από αλλαγές που πιθανόν να προήλθαν από μεταβολές στο περιβάλλον εκτέλεσης. Αντίστοιχα μετα-μοντέλα προτείνονται για την επικύρωση της μορφής των γεγονότων παρακολούθησης καθώς και των αντίστοιχων στρατηγικών προσαρμογής.Για την πειραματική αξιολόγηση του προτεινόμενου πλαισίου εφαρμογής χρησιμοποιούμε τεχνητά σύνολα δεδομένων και ελέγχουμε την κλιμακωσιμότητά του, την απόδοσή του ως προς το χρόνο εκτέλεσης και τη διεκπεραιωτική του ικανότητα, καθώς και την καταλληλότητα της παραγόμενης στρατηγικής προσαρμογής. Τα αποτελέσματα της αξιολόγησης δείχνουν ότι η απόδοση του υποσυστήματος ανακάλυψης μοτίβων γεγονότων παρακολούθησης εξαρτάται κυρίως από τον ορισμό της μετρικής, δηλαδή το χρονικό διάστημα που μεσολαβεί μεταξύ δύο διαδοχικών μετρήσεων. Αυτό μπορεί κατάλληλα να προσαρμοστεί έτσι ώστε να επιτύχουμε τα βέλτιστα αποτελέσματα προληπτικής προσαρμογής της εφαρμογής. Όσον αφορά την απόδοση του συστήματος τα αποτελέσματα φανερώνουν μια αμέση συσχέτιση με το πλήθος και το είδος των υπό εξέταση μετρικών, το πλήθος των επιμέρους ηλεκτρονικών υπηρεσιών που απαρτίζουν την εφαρμογή καθώς και το είδος της ανάπτυξης της εφαρμογής (σε ένα ή πολλαπλά νέφη). Η ορθότητα και η απόδοση της διαδικασίας προσαρμογής (κυρίως των ενεργειών κλιμάκωσης) επηρεάζεται από το μέγεθος, την τοποθεσία και το πλήθος των παρεχόμενων εικονικών μηχανών, αλλά βασίζεται κυρίως στην τεχνογνωσία και την εμπειρία του σχεδιαστή στρατηγικών προσαρμογής. Τέλος, τα συνολικα αποτελέσματα του προτεινόμενου πλαισίου εφαρμογής φανερώνουν τον αποδοτικό χειρισμό των γεγονότων παρακολούθησης, δίνοντας έτσι τη δυνατότητα στον πάροχο της εφαρμογής να αντιμετωπίζει επιτυχώς τόσο τις μεμονωμένες παραβιάσεις μετρικών (αντιδραστική προσαρμογή), όσο και των μοτίβων γεγονότων παρακολούθησης που έχουν ανιχνευτεί και προκαλούν παραβιάσεις σύνθετων μετρικών (προληπτική προσαρμογή).