Τεχνολογίατου Ηρακλή Βαρλάμη*
Τρίτη, 02 Δεκεμβρίου 2008
Από τις αρχές της δεκαετίας του '90 κιόλας, με απαρχή τα μεγάλα ATM δίκτυα, η εικόνα του σύννεφου χρησιμοποιήθηκε για να αναπαραστήσει τα δίκτυα υπολογιστών και το διαδίκτυο πιο συγκεκριμένα. Ο συμβολισμός αυτός υπονοεί τη σύνθετη και όχι απόλυτα γνωστή δομή του διαδικτύου, τα μη αυστηρά καθορισμένα όριά του, τις δυνατότητες που προσφέρει στον καθένα να δώσει και να πάρει πληροφορίες από αυτό -κρύβοντας τις λεπτομέρειες των εσωτερικών διεργασιών του διαδικτύου- και ταυτόχρονα δείχνει ένα σύστημα που αν και συγκεντρώνει τόσο ανομοιογενή συστατικά στο εσωτερικό του (υπολογιστές διαφόρων τεχνολογιών και αρχιτεκτονικών, συσκευές δικτύωσης και δρομολόγησης κλπ.) εμφανίζει μια ομοιογενή εικόνα προς τα έξω.
Στις μέρες μας αυτός ο συμβολισμός αποκτά πλέον «σάρκα και οστά» μέσα από τον όρο του cloud computing. Το διαδίκτυο διατηρεί τις ιδιότητες που μας οδήγησαν να το συμβολίσουμε με ένα σύννεφο και ταυτόχρονα μετατρέπεται σε ένα υπολογιστικό σύστημα. Οι ιδιότητες αυτές, όταν μεταφερθούν σε ένα υπολογιστικό σύστημα, αποκτούν ιδιαίτερο ενδιαφέρον. Το υπολογιστικό σύστημα δεν είναι πλέον ενιαίο και κεντρικοποιημένο.
Αντίθετα, στο νέο κατανεμημένο σύστημα οι υπολογιστές του συστήματος μπορεί να τρέχουν διαφορετικά λειτουργικά συστήματα και να διαφέρουν σε αρχιτεκτονική και τεχνολογικές δυνατότητες (πχ. να είναι mainframes, προσωπικοί υπολογιστές ή υπολογιστές παλάμης), το λογισμικό είναι σπονδυλωτό και κάθε τμήμα του μπορεί να εκτελείται σε διαφορετικό υπολογιστή λαμβάνοντας υπόψη τις δυνατότητές του (τα προγράμματα δεν είναι πλέον σύνολα εντολών που καλούν έτοιμο κώδικα από τις βιβλιοθήκες μιας γλώσσας προγραμματισμού, αλλά μετατρέπονται σε οδηγίες για την ενορχήστρωση υπηρεσιών που προσφέρονται από υπολογιστές του διαδικτύου), τα δεδομένα του συστήματος βρίσκονται επίσης μοιρασμένα σε πολλούς υπολογιστές που αποτελούν τα data centers της εφαρμογής και, τέλος, οι πελάτες βρίσκονται οπουδήποτε στον κόσμο, κινούνται διαρκώς και αλλάζουν ρόλο καθώς συχνά μετατρέπονται σε ενδιάμεσους παρόχους υπηρεσιών.
Το σημαντικότερο απ' όλα όμως είναι ότι οι πόροι του κατανεμημένου αυτού συστήματος (υπολογιστές, υπηρεσίες, δεδομένα, πελάτες) μπορούν ανά πάσα στιγμή να προστίθενται ή να αφαιρούνται από αυτό, όπως ακριβώς οι υπολογιστές των χρηστών μπορούν να συνδέονται ή να αποσυνδέονται από το διαδίκτυο χωρίς αυτό να πάψει να λειτουργεί.
Στο πλαίσιο του cloud computing, λοιπόν, μια εφαρμογή είναι αποτέλεσμα της ενορχήστρωσης πολλών και διαφορετικών υπολογιστών, υπηρεσιών και πηγών δεδομένων οι οποίες μπορούν ανά πάσα στιγμή να προστίθενται και να αποχωρούν από το σύστημα χωρίς να επηρεάζουν τη λειτουργία του. Η αρχιτεκτονική αυτή αλλάζει σταδιακά τον τρόπο λειτουργίας τόσο του διαδικτύου, όσο και των υπολογιστών, καθώς δεν συνδεόμαστε πλέον στο διαδίκτυο μόνο για να ανταλλάξουμε πληροφορίες, αλλά για να χρησιμοποιήσουμε υπηρεσίες τρίτων ή για να αξιοποιήσουμε τις υπηρεσίες αυτές και να προσφέρουμε δικές μας υπηρεσίες. Δημιουργεί ταυτόχρονα ένα νέο εταιρικό μοντέλο, στο οποίο οι εταιρείες δεν προσφέρουν τις υπηρεσίες τους μέσα από ιδιόκτητα πληροφοριακά συστήματα αλλά μέσα από υπηρεσίες τρίτων με χρέωση ανά χρήση.
Για να γίνει αισθητό το πόσο κοντά μας βρίσκονται οι εφαρμογές του cloud computing αρκεί να αναφέρουμε ότι ορισμένες από τις πιο δημοφιλείς εφαρμογές του διαδικτύου, όπως το Facebook, οι συνοδευτικές εφαρμογές του Google (κειμενογράφος, λογιστικά φύλλα, κλπ.), το Skype, τα προγράμματα ανταλλαγής αρχείων torrent αλλά και οι υπηρεσίες που προσφέρει η Apple στους κατόχους των iPhone κινητών έχουν χτιστεί πάνω στην cloud αρχιτεκτονική. Για να μπορεί κανείς να χρησιμοποιήσει τις υπηρεσίες αυτές δεν χρειάζεται να διαθέτει παρά μόνο ένα browser, ένα κινητό τηλέφωνο ή ένα τηλέφωνο skype, ενώ αν επιθυμεί να αναπτύξει και να προσφέρει κι αυτός δικές του υπηρεσίες θα βρει χώρο και πόρους στις cloud αρχιτεκτονικές των εταιρειών που υποστηρίζουν τις εφαρμογές αυτές.
Τι είναι όμως αυτό που κάνει το cloud computing να μοιάζει με Γη της Επαγγελίας για τις εταιρείες και ποιες είναι οι δυσκολίες που καλούνται να αντιμετωπίσουν όσοι δραστηριοποιούνται σε αυτόν το χώρο;
Τι είναι όμως αυτό που κάνει το cloud computing να μοιάζει με Γη της Επαγγελίας για τις εταιρείες και ποιες είναι οι δυσκολίες που καλούνται να αντιμετωπίσουν όσοι δραστηριοποιούνται σε αυτόν το χώρο;
Τα αναμενόμενα οφέλη από την ανάπτυξη συστημάτων πάνω στο σύννεφο των υπηρεσιών του διαδικτύου είναι πολλά. Κατ' αρχάς το γεγονός ότι η υπολογιστική υποδομή διατίθεται από τον πάροχο και οι προσφερόμενες υπηρεσίες έχουν σχεδιαστεί ειδικά για να μπορούν εύκολα να συνδυαστούν, επίσης επιτρέπει τη γρήγορη σύνθεση νέων υπηρεσιών, με σχετικά χαμηλό κόστος ανάπτυξης. Ταυτόχρονα, η χρέωση των βασικών υπηρεσιών ανά χρήση επιτρέπει στις εταιρείες που αναπτύσσουν εφαρμογές να μισθώνουν σταδιακά περισσότερους πόρους από τον πάροχο, αποφεύγοντας τα μεγάλα επενδυτικά ανοίγματα. Χαρακτηριστικά παραδείγματα τα Google Maps mashups, που προσφέρουν κάθε λογής υπηρεσίες πληροφόρησης πάνω στην υπηρεσία χαρτών της Google ή τα Facebook applications που μετέτρεψαν αρκετές «καλές ιδέες» σε δημοφιλείς και προσοδοφόρες εφαρμογές μέσα στην πλατφόρμα του Facebook.
Ενα άλλο πλεονέκτημα της cloud αρχιτεκτονικής είναι η μεγάλη διεισδυτικότητα λόγω των περιορισμένων απαιτήσεων που έχει από τους πελάτες των υπηρεσιών. Ετσι, ένας υπολογιστής (προσωπικός, φορητός, παλάμης), είτε ένα κινητό τηλέφωνο μάς επιτρέπει να χρησιμοποιήσουμε τις προσφερόμενες υπηρεσίες απ' όπου κι αν βρισκόμαστε.
Από την άλλη μεριά, οι πάροχοι συσσωρεύουν απαιτήσεις για υπολογιστική ισχύ και πόρους, καθώς επίσης για ασφάλεια και προστασία δεδομένων και υπηρεσιών και οδηγούνται στη δημιουργία ολοένα και μεγαλύτερων και πιο σύνθετων συστημάτων. Ως εκ τούτου προχωρούν στη σχεδίαση αποδοτικότερων κατανεμημένων υπολογιστικών συστημάτων, τα οποία αξιοποιούν στο μέγιστο τους υπάρχοντες πόρους και εγγυώνται την ασφαλή και αδιάλειπτη λειτουργία των εφαρμογών, ενώ ταυτόχρονα σχεδιάζουν τη στρατηγική τοποθέτηση των data center τους ώστε να έχουν πρόσβαση σε φτηνή ενέργεια, χαμηλά λειτουργικά έξοδα και συχνά ευελιξία στη διαχείριση των δεδομένων που διαχειρίζονται.
Οι περισσότερες ανησυχίες για την επιτυχία του cloud computing επικεντρώνονται γύρω από τη διαχείριση και τη διασφάλιση των δεδομένων. Σε μια κατανεμημένη αρχιτεκτονική, που στόχο έχει το μειωμένο κόστος λειτουργίας των data centers, τα δεδομένα που διακινούν οι προσφερόμενες υπηρεσίες βρίσκονται στη διάθεση του παρόχου και μπορεί να τοποθετούνται γεωγραφικά οπουδήποτε στον πλανήτη. Την ίδια στιγμή διακινούνται μέσα από ένα δίκτυο υπολογιστών μέχρι να οδηγηθούν από την αφετηρία στον προορισμό τους. Τα ερωτήματα που ανακύπτουν είναι πολλά: ποιος κατέχει τα δεδομένα; Πού τα αποθηκεύει και πώς εγγυάται ότι δεν θα διαρρεύσουν χωρίς την έγκριση των πελατών; Τι θα συμβεί με τα δεδομένα και τις προσφερόμενες υπηρεσίες αν ο πάροχος καταρρεύσει ή αν αγοραστεί από κάποιον άλλον πάροχο;
Χαρακτηριστικό παράδειγμα η προσωρινή παύση λειτουργίας του Simple Storage Service της Amazon, το Φεβρουάριο του 2008, που είχε ως αποτέλεσμα τη διακοπή σε πολλές φιλοξενούμενες υπηρεσίες, ανάμεσα σε αυτές και την υπηρεσία κοινωνικής δικτύωσης Twitter, αλλά και πολλές διακοπές λειτουργίας του Gmail, του Yahoo και άλλων υπηρεσιών που προκάλεσαν, στιγμιαία, αναστάτωση στους πελάτες και χρήστες των υπηρεσιών.
Η απάντηση σε όλα αυτά τα ερωτήματα είναι η προσεκτική σύναψη συμφωνιών με τους παρόχους cloud computing υποδομών για τις υπηρεσίες που θα προσφέρουμε, στις οποίες θα πρέπει να διασφαλίζονται τα ακόλουθα: α) ελεγχόμενη πρόσβαση στα δεδομένα, β) δυνατότητα εξωτερικού ελέγχου στις λειτουργίες του παρόχου, γ) καθορισμός της τοποθεσίας αποθήκευσης των δεδομένων, δ) συστηματική κρυπτογράφηση των δεδομένων, ε) ύπαρξη διαδικασιών ανάνηψης από καταστροφές, στ) δυνατότητα διερεύνησης παράνομης δραστηριότητας στην υπηρεσία και ζ) πλάνο επιβίωσης της εφαρμογής, ακόμη και όταν ο πάροχος πάψει να λειτουργεί.
Συμπερασματικά, λοιπόν, πρέπει να σημειωθεί ότι η μετάβαση από το λογισμικό στις υπηρεσίες (Software-As-A-Service) βρίσκεται σε εξέλιξη και το cloud computing επεκτείνεται συνεχώς. Επίσης, η νέα αυτή αρχιτεκτονική προτείνει μια διαφορά κλίμακας (χιλιάδες υπολογιστές στην υπηρεσία των εφαρμογών) και μια νέα φιλοσοφία (κατανεμημένες εφαρμογές με διαδραστική πρόσβαση από κάθε είδους συσκευή), ενώ τα οφέλη της περιλαμβάνουν χαμηλά λειτουργικά κόστη, γρήγορη ανάπτυξη εφαρμογών και κλιμακούμενη δέσμευση υπολογιστικών πόρων. Χαρακτηριστικό παράδειγμα αυτής της «στροφής» είναι η συμμαχία της Google και της IBM, στις αρχές του 2008, η οποία είχε στόχο την ενίσχυση της έρευνας για προγράμματα και υπηρεσίες που θα προσφέρονται απευθείας από το διαδίκτυο χωρίς να απαιτούν εγκατάσταση στον υπολογιστή του χρήστη. Τέλος, με παρόμοιους στόχους προχωρούν σε συμμαχία οι εταιρείες Yahoo, Intel και Hewlett Packard, ενώ το cloud computing αποτελεί πλέον μια από τις πέντε προτεραιότητες της Microsoft για το 2009.
*Ο κ. Ηρακλής Βαρλάμης είναι λέκτορας στο τμήμα Πληροφορικής και Τηλεματικής του Χαροκόπειου Πανεπιστημίου Αθηνών.
**Το άρθρο δημοσιεύτηκε στην ειδική έκδοση της Καθημερινής "The Economist" με θέμα η εξαϋλωση της τεχνολογίας τον Δεκέμβριο 2008 (τεύχος 58). Στην ηλεκτρονική του μορφή μπορούμε να το βρούμε εδώ
