Περίληψη
Τα τελευταία χρόνια, η Υπηρεσιοστρεφής Αρχιτεκτονική έχει αναδειχθεί στον συνηθέστερα χρησιμοποιούμενο τρόπο διάθεσης λογισμικού, με την αξιοποίησηηλεκτρονικών υπηρεσιών που είναι διάθεσιμες μέσω ειδικών αποθετηρίων στοδιαδίκτυο. Προσφέρει πολλές ευκαιρίες αυτοματοποίησης διεργασιών στις επιχειρήσεις, παρέχοντας στους τελικούς χρήστες είτε απλές υπηρεσίες, είτε άλλες πιο σύνθετες, μέσω κατάλληλων διεπαφών. Η επιτυχία των προγραμμάτων που έχουν ως αντικείμενο τις ηλεκτρονικές υπηρεσίες έχει αποδείξει ότι οι υπάρχουσες τεχνολογίες είναι επαρκείς, για να αναπτύξει κάποιος μια κατάλληλη εφαρμογή βασισμένη στην υπηρεσιοστρεφή αρχιτεκτονική. Η εξέλιξη όμως των ηλεκτρονικών υπηρεσιών τα τελευταία χρόνια δείχνει, ότι η τάση είναι όχι τόσο στην απλή ανταλλαγή πληροφορίας μεταξύ της υπηρεσίας και του χρήστη, αλλά στη σύνθεση των υπαρχόντων υπηρεσιών για τη δημιουργία σύνθετων εφαρμογών. Επομένως, οι επιχειρήσεις μπορούν να αναπτύξουν σύνθετες προσαρμόσιμες υπηρεσιοστρεφείς εφαρμογές, εκμεταλλευ ...
Τα τελευταία χρόνια, η Υπηρεσιοστρεφής Αρχιτεκτονική έχει αναδειχθεί στον συνηθέστερα χρησιμοποιούμενο τρόπο διάθεσης λογισμικού, με την αξιοποίησηηλεκτρονικών υπηρεσιών που είναι διάθεσιμες μέσω ειδικών αποθετηρίων στοδιαδίκτυο. Προσφέρει πολλές ευκαιρίες αυτοματοποίησης διεργασιών στις επιχειρήσεις, παρέχοντας στους τελικούς χρήστες είτε απλές υπηρεσίες, είτε άλλες πιο σύνθετες, μέσω κατάλληλων διεπαφών. Η επιτυχία των προγραμμάτων που έχουν ως αντικείμενο τις ηλεκτρονικές υπηρεσίες έχει αποδείξει ότι οι υπάρχουσες τεχνολογίες είναι επαρκείς, για να αναπτύξει κάποιος μια κατάλληλη εφαρμογή βασισμένη στην υπηρεσιοστρεφή αρχιτεκτονική. Η εξέλιξη όμως των ηλεκτρονικών υπηρεσιών τα τελευταία χρόνια δείχνει, ότι η τάση είναι όχι τόσο στην απλή ανταλλαγή πληροφορίας μεταξύ της υπηρεσίας και του χρήστη, αλλά στη σύνθεση των υπαρχόντων υπηρεσιών για τη δημιουργία σύνθετων εφαρμογών. Επομένως, οι επιχειρήσεις μπορούν να αναπτύξουν σύνθετες προσαρμόσιμες υπηρεσιοστρεφείς εφαρμογές, εκμεταλλευόμενες παράλληλα παλαιότερες τεχνολογίες που χρησιμοποιούνταν σε τοπικές και απομακρυσμένες εφαρμογές.Με τον ερχομό του 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).Προκειμένου να ελεγχθεί η εφαρμοσιμότητα και να αναδειχθούν τα πλεονεκτήματα του προτεινόμενου πλαισίου εφαρμογής, στα πλαίσια αυτής της διατριβής υλοποιήθηκε μια εφαρμογή διαχείρισης της κυκλοφορίας στους δρόμους μίας πόλης. Στη συνέχεια αυτή η εφαρμογή αναπτύχθηκε σε ένα περιβάλλον πολλαπλών υπολογιστικών νεφών, τα οποία ικανοποιούν διαφορετικές απαιτήσεις των επιμέρους ηλεκτρονικών υπηρεσιών που απαρτίζουν την εφαρμογή. Τα συστατικά στοιχεία αυτών των υπολογιστικών νεφών έχουν πολλές εξαρτήσεις μεταξύ τους, σε όλα τα επίπεδα της υπηρεσιοστρεφούς αρχιτεκτονικής και της αρχιτεκτονικής υπολογιστικού νέφους. Το προτεινόμενο σύστημα ανακαλύπτει και εκμεταλλεύεται αυτές τις εξαρτήσεις, για να εξάγει από τα γεγονότα παρακολούθησης έγκυρα μοτίβα που επιφέρουν παραβιάσεις συγκεκριμένων μετρικών. Τα τελευταία υφίστανται περαιτέρω επεξεργασία για την εξαγωγή πιο πολύπλοκων μοτίβων, τα οποία αντιστοιχίζονται σε κατάλληλες στρατηγικές προσαρμογής. Για την μοντελοποίηση των εξαρτήσεων έχουμε αναπτύξει ένα ειδικό μετα-μοντέλο, τοοποίο αποτυπώνει όλα τα εμπλεκόμενα συστατικά στοιχεία και τις μεταξύ τουςσχέσεις. Οι αλληλεξαρτήσεις αυτές εμπλουτίζονται επίσης κατά το χρόνο εκτέλεσης για να αντικατοπτρίζουν τη νέα συμπεριφορά του συστήματος, μετά από αλλαγές που πιθανόν να προήλθαν από μεταβολές στο περιβάλλον εκτέλεσης. Αντίστοιχα μετα-μοντέλα προτείνονται για την επικύρωση της μορφής των γεγονότων παρακολούθησης καθώς και των αντίστοιχων στρατηγικών προσαρμογής.Για την πειραματική αξιολόγηση του προτεινόμενου πλαισίου εφαρμογής χρησιμοποιούμε τεχνητά σύνολα δεδομένων και ελέγχουμε την κλιμακωσιμότητά του, την απόδοσή του ως προς το χρόνο εκτέλεσης και τη διεκπεραιωτική του ικανότητα, καθώς και την καταλληλότητα της παραγόμενης στρατηγικής προσαρμογής. Τα αποτελέσματα της αξιολόγησης δείχνουν ότι η απόδοση του υποσυστήματος ανακάλυψης μοτίβων γεγονότων παρακολούθησης εξαρτάται κυρίως από τον ορισμό της μετρικής, δηλαδή το χρονικό διάστημα που μεσολαβεί μεταξύ δύο διαδοχικών μετρήσεων. Αυτό μπορεί κατάλληλα να προσαρμοστεί έτσι ώστε να επιτύχουμε τα βέλτιστα αποτελέσματα προληπτικής προσαρμογής της εφαρμογής. Όσον αφορά την απόδοση του συστήματος τα αποτελέσματα φανερώνουν μια αμέση συσχέτιση με το πλήθος και το είδος των υπό εξέταση μετρικών, το πλήθος των επιμέρους ηλεκτρονικών υπηρεσιών που απαρτίζουν την εφαρμογή καθώς και το είδος της ανάπτυξης της εφαρμογής (σε ένα ή πολλαπλά νέφη). Η ορθότητα και η απόδοση της διαδικασίας προσαρμογής (κυρίως των ενεργειών κλιμάκωσης) επηρεάζεται από το μέγεθος, την τοποθεσία και το πλήθος των παρεχόμενων εικονικών μηχανών, αλλά βασίζεται κυρίως στην τεχνογνωσία και την εμπειρία του σχεδιαστή στρατηγικών προσαρμογής. Τέλος, τα συνολικα αποτελέσματα του προτεινόμενου πλαισίου εφαρμογής φανερώνουν τον αποδοτικό χειρισμό των γεγονότων παρακολούθησης, δίνοντας έτσι τη δυνατότητα στον πάροχο της εφαρμογής να αντιμετωπίζει επιτυχώς τόσο τις μεμονωμένες παραβιάσεις μετρικών (αντιδραστική προσαρμογή), όσο και των μοτίβων γεγονότων παρακολούθησης που έχουν ανιχνευτεί και προκαλούν παραβιάσεις σύνθετων μετρικών (προληπτική προσαρμογή).
περισσότερα
Περίληψη σε άλλη γλώσσα
Service-Oriented Architecture (SOA) emerged in the late 90s, introducing Web services as a new means for delivering software over a network. Nowadays, it provides many opportunities for businesses to automate their processes, by providing services to either end-user applications or to other services distributed in a network, via published and discoverable interfaces. The success of many Web service related projects has shown that existing technologies enables implementing a true SOA. However, the evolution of Web services indicates that they are moving beyond the simple exchange of information to the concept of combining existing and new applications in order to provide more complex Service-based Applications (SBAs). Consequently, businesses will be able to create customizable composite SBAs, also integrating back-end and older technology systems found in local or remote applications.With the advent of the new century, a number of additional pieces of the computing “puzzle” fell into p ...
Service-Oriented Architecture (SOA) emerged in the late 90s, introducing Web services as a new means for delivering software over a network. Nowadays, it provides many opportunities for businesses to automate their processes, by providing services to either end-user applications or to other services distributed in a network, via published and discoverable interfaces. The success of many Web service related projects has shown that existing technologies enables implementing a true SOA. However, the evolution of Web services indicates that they are moving beyond the simple exchange of information to the concept of combining existing and new applications in order to provide more complex Service-based Applications (SBAs). Consequently, businesses will be able to create customizable composite SBAs, also integrating back-end and older technology systems found in local or remote applications.With the advent of the new century, a number of additional pieces of the computing “puzzle” fell into place to complement SOA and reflect the new trendsintroduced by the Internet of things (IoT), which refers to the interconnection ofuniquely identifiable embedded computing devices with the existing Internet infrastructure. Cloud computing has emerged as a new paradigm for delivering “as-a-service” offerings to the end users: (i) Software-as-a-Service (SaaS) is the software delivery model adopted in Cloud computing, where Web services are made available to users on demand via the Internet from a Cloud provider, (ii) Platform-as-a-Service (PaaS) provides the platform to the application owners to deploy their applications on, and (iii) Infrastructure-as-a-Service (IaaS) is a resource provisioning model allowing Cloud providers to outsource equipment, i.e. Virtual Machines (VMs), required by SaaS and PaaS.The dynamic nature of Web services and the vulnerable execution environment in which they perform requires that their functional and non-functional (Quality of Service (QoS)) characteristics should be monitored. The monitoring process is essential in order to gain a clear view of how they perform within their operational environment, take management decisions and perform adaptation actions to modify and adjust their behavior, according to the new posed requirements. This dissertation addresses monitoring and adaptation of SBAs deployed on multiple Clouds, introducing an Event based Cross-layer Monitoring and Adaptation Framework, named ECMAF. As SOA and Cloud architecture comprises a number of functional layers, including various application components, spanning from abstract business processes to concrete infrastructure resources, monitoring and adaptation should take into account the layers’ dependencies in order to efficiently correlate the monitoring events and promptly determine the most suitable adaptation actions that should be triggered. The proposed approach takes into consideration all the Cloud and SOA layers comprising a multi-Cloud SBA.To investigate the applicability of ECMAF and demonstrate its benefits, we have implemented and deployed a traffic management application on a multi-Cloud setup. This application has been suitably designed to optimally perform on multiple Clouds offering different storage and computational power. The Cloudsused for the SBA’s deployment exhibit a number of dependencies among the involved components across all the SOA and Cloud layers, captured in a component meta-model, which has been especially designed to model a snapshot of the current SBA deployment status and the dependencies of the active components. These dependencies are exploited by the ECMAF framework in order to extract valid event patterns causing specific Service-level Objectives (SLO) violations, which are further processed to form more complex ones, mapping to suitable adaptation strategies. Moreover, these dependencies are also enriched at run-time to reflect new behaviors of the SBA, dictated by a context or an individual component’s status modification. Additional meta-models for validating the monitoring events, as well as the adaptation strategies supported by the ECMAF’s incorporated adaptation engine, are introduced.Experimental evaluation is performed using synthetically generated datasets including various event patterns, investigating the ECMAF’s performance and scalability, in terms of execution time and throughput, as well as optimality and accuracy with regards to the produced adaptation strategy. The results show excellent agreement with theoretical the main work assumptions. In particular, the performance of the pattern discovery process mainly relies on the metric’s definition, which can be adjusted to reflect the optimal time interval dictated by the pattern discovery process, so as to produce the most effective proactive adaptation results. As far as the performance results are concerned, they show that the ECMAF’s execution time depends mostly on the considered monitored metrics, as well as on the deployment’s scope (single or multi-Cloud) and SBA’s size (i.e. the number of individual services). The accuracy and the performance of the adaptation process (mainly the scaling actions) are mainly based on the image size, the location and the number of the provisioned VMs, but mostly depends on the expertise of the adaptation strategy designer. Finally, the overall ECMAF’s evaluation results reveal efficient handling of the detected monitoring events, thus enabling the successful addressing of the individual SLO violations (i.e. reactive adaptation), as well as of the discovered critical event patterns causing aggregate metric’s violations (i.e. proactive adaptation).
περισσότερα