Όταν ακούτε για το cloud, το cloud computing ή την αποθήκευση στο cloud, μην ανησυχείτε: τίποτα δεν συμβαίνει στα σύννεφα!
Με απλά λόγια, όταν κάτι βρίσκεται στο cloud, σημαίνει ότι είναι αποθηκευμένο σε διακομιστές στους οποίους αποκτάτε πρόσβαση μέσω του διαδικτύου αντί για τοπικά. Η φιλοξενία στο cloud προσφέρει υπολογιστικούς πόρους κατ' απαίτηση – τα πάντα, από εφαρμογές, λογισμικό, βάσεις δεδομένων – που εκτελούνται σε αυτούς τους διακομιστές, οι οποίοι συχνά βρίσκονται σε κέντρα δεδομένων.
Ένας καλός τρόπος για να κατανοήσετε το cloud, είναι η αναφορά πέντε σημαντικών χαρακτηριστικών:
Αυτοεξυπηρέτηση κατ' απαίτηση (On-demand self-service): Οι χρήστες μπορούν να αποκτήσουν πρόσβαση σε πόρους στο cloud (όπως επεξεργαστική ισχύ, χώρο αποθήκευσης και δίκτυο) όταν απαιτείται μέσω μιας διασύνδεσης χωρίς να απαιτείται η παρέμβαση του παρόχου υπηρεσιών.
Ευρεία πρόσβαση στο δίκτυο (Broad network access): Η πρόσβαση σε αυτούς τους πόρους cloud computing γίνεται μέσω του δικτύου, μέσω τυπικών μηχανισμών και πλατφορμών όπως τα κινητά τηλέφωνα, τα tablet, οι φορητοί υπολογιστές και οι σταθμοί εργασίας.
Κοινή διάθεση πόρων (Resource pooling): Είναι το κλειδί για κλιμακωτές και οικονομικά αποδοτικές υπηρεσίες. Οι υπολογιστικοί πόροι κατανέμονται και ανακατανέμονται δυναμικά σύμφωνα με τη ζήτηση και εξυπηρετούν πολλούς καταναλωτές.
Άμεση ελαστικότητα (Rapid elasticity): Οι χρήστες μπορούν να έχουν πρόσβαση σε περισσότερους πόρους όταν τους χρειάζονται και να αποδεσμεύονται όταν δεν τους χρειάζονται, επειδή οι πόροι παρέχονται και αποδεσμεύονται με ελαστικότητα.
Τιμολόγηση βάσει χρήσης (Measured service): Οι χρήστες πληρώνουν μόνο για τους πόρους που χρησιμοποιούν ή έχουν δεσμεύσει– αν δεν τους χρησιμοποιήσουν, δεν πληρώνουν. Η χρήση των πόρων παρακολουθείται, καταμετράται και αποτυπώνεται σε αναφορές με διαφάνεια με βάση τη χρήση, όπως και κάθε άλλη υπηρεσία κοινής ωφέλειας.
Το cloud computing είναι τεχνολογία «ως υπηρεσία»: χρησιμοποιείτε απομακρυσμένους πόρους κατ' απαίτηση μέσω του ανοιχτού διαδικτύου, μπορείτε να αυξήσετε και να μειώσετε την κατανάλωση πόρων ανάλογα με τις απαιτήσεις σας και πληρώνετε για ό,τι χρησιμοποιείτε. Αυτό το επαναστατικό μοντέλο άλλαξε τον τρόπο που αποκτούμε πρόσβαση σε υπολογιστικές υπηρεσίες, βοηθώντας οργανισμούς να γίνουν πιο ευέλικτοι καθώς ανταποκρίνονται στις αλλαγές της αγοράς.
Η εξέλιξη του cloud computing
Το cloud computing προέκυψε από την εξέλιξη της τεχνολογίας αποθήκευσης. Η ονομασία cloud computing είναι εμπνευσμένη από το σύμβολο του νέφους το οποίο συχνά χρησιμοποιείται για να αναπαραστήσει το διαδίκτυο στα διαγράμματα ροής.
Με το cloud computing, η τοποθεσία του παρόχου υπηρεσιών, το υλικό και το υποκείμενο λειτουργικό σύστημα είναι συνήθως αδιάφορο για τον χρήστη. t
Αρχίσαμε να ακούμε για το cloud στις αρχές της δεκαετίας του 2000, αλλά η έννοια της «υπολογιστικής ως υπηρεσίας» υπάρχει από τη δεκαετία του 1950 όταν η Unisys (UNIVAC computer), η International Business Machines Corporation (IBM) και άλλες εταιρείες ξεκίνησαν την παραγωγή τεράστιων και ακριβών υπολογιστών με επεξεργαστική ισχύ μεγάλου όγκου για μεγάλες εταιρείες και κυβερνητικά ερευνητικά εργαστήρια. Λόγω του κόστους αγοράς, λειτουργίας και συντήρησης των κεντρικών υπολογιστών, οι οργανισμοί και τα ιδρύματα δεν μπορούσαν να αντέξουν το κόστος ενός κεντρικού υπολογιστή για κάθε χρήστη και η «κοινή διάθεση πόρων» ή ο «χρονομερισμός» ξεκίνησε να διαμορφώνεται.
Οι εταιρείες ενοικίαζαν χρόνο σε έναν κεντρικό υπολογιστή. Το 1959, ο υπολογιστής IBM 1401 ενοικιαζόταν για 8.000 $ τον μήνα (τα πρώτα μηχανήματα της IBM σχεδόν πάντα ενοικιάζονταν αντί να πωλούνται) και το 1964, ο μεγαλύτερος υπολογιστής IBM S/360 κόστιζε πολλά εκατομμύρια δολάρια.
Χρησιμοποιώντας τερματικά («dumb terminals»), των οποίων ο μοναδικός σκοπός ήταν η παροχή πρόσβασης στους κεντρικούς υπολογιστές, πολλοί χρήστες μπορούσαν να έχουν πρόσβαση στο ίδιο επίπεδο αποθήκευσης δεδομένων και επεξεργαστικής ισχύος από οποιοδήποτε τερματικό.
Εικονικές μηχανές
Τη δεκαετία του 1970, η IBM παρουσίασε ένα λειτουργικό σύστημα που επέτρεπε σε πολλαπλά εικονικά συστήματα, ή «εικονικές μηχανές» (VM, Virtual Machine), να εγκατασταθούν σε έναν κεντρικό υπολογιστή, πηγαίνοντας ένα βήμα παραπέρα την κοινή πρόσβαση σε έναν κεντρικό υπολογιστή. Πολλαπλά ξεχωριστά υπολογιστικά περιβάλλοντα μπορούσαν να λειτουργήσουν στο ίδιο φυσικό υλικό.
Για να εξηγήσουμε τι είναι μια εικονική μηχανή, θα σας δώσουμε ένα παράδειγμα το οποίο μπορεί να έχετε συναντήσει: η εκτέλεση μη συμβατού λογισμικού. Πριν από μερικά χρόνια, πριν από την έκρηξη των εφαρμογών, ένα λογισμικό που ήταν σχεδιασμένο για τα Windows, όπως το Microsoft Office, δεν θα λειτουργούσε σε ένα Mac. Αν θέλατε να χρησιμοποιήσετε αυτές τις εφαρμογές σε ένα Mac, μπορούσατε να χρησιμοποιήσετε το Apple Bootcamp για να αφιερώσετε ένα μέρος του σκληρού σας δίσκου στην εγκατάσταση των Windows, ώστε να μπορείτε να εκτελέσετε το Office. Θα είχατε ουσιαστικά δύο υπολογιστές σε έναν, έναν που θα λειτουργούσε με Windows και έναν με Mac OS. Όμως μόνο ένα λειτουργικό σύστημα μπορούσε να εκτελείται τη φορά, οπότε έπρεπε να επανεκκινήσετε τον Mac σας για να κάνετε εναλλαγή μεταξύ macOS και Windows. Υπάρχει επίσης λογισμικό που σας επιτρέπει να εκτελείτε και τα δύο λειτουργικά συστήματα παράλληλα, χωρίς να χρειάζεται επανεκκίνηση.
Με τις εικονικές μηχανές, είναι σαν να λειτουργούν πολλοί υπολογιστές εντός ενός υπολογιστή. Κάθε εικονική μηχανή μπορούσε να εγκατασταθεί με το απαιτούμενο λειτουργικό σύστημα από τον κάθε χρήστη (όπως Microsoft Windows, macOS, Linux) και να λειτουργεί σαν να είχε τους δικούς της πόρους (μνήμη, επεξεργαστή, σκληρούς δίσκους και δικτύωση) – αν και αυτά βρίσκονταν υπό κοινή χρήση. Αυτό ονομάζεται εικονικοποίηση (virtualisation) και έπαιξε καταλυτικό ρόλο για πολλές σημαντικές εξελίξεις στις επικοινωνίες και την υπολογιστική. Είναι επίσης η κύρια τεχνολογία γενικής εφαρμογής για το cloud computing.
Η πιο σημαντική πλευρά είναι πως ό,τι συμβαίνει στη μια εικονική μηχανή δεν επηρεάζει τις υπόλοιπες. Για παράδειγμα, αν μια εικονική μηχανή παρουσιάσει πρόβλημα (προσβληθεί από ιό ή κακόβουλο λογισμικό), οι άλλες δεν επηρεάζονται.
Εικονικοποίηση διακομιστών
Μέχρι πολύ πρόσφατα, το φυσικό υλικό ήταν αρκετά ακριβό. Με το διαδίκτυο να γίνεται πιο προσβάσιμο και το κόστος του υλικού να μειώνεται, περισσότεροι χρήστες μπορούσαν να αγοράσουν δικούς τους αποκλειστικούς διακομιστές. Για να γίνει το κόστος του υλικού πιο προσιτό, εικονικοποιήθηκαν και οι διακομιστές, χρησιμοποιώντας τους ίδιους τύπους λειτουργικότητας που παρείχε το λειτουργικό σύστημα της εικονικής μηχανής που αναφέραμε παραπάνω.
Το πρόβλημα τώρα ήταν διαφορετικό: ένας διακομιστής μπορεί να είναι καλός για βασικές λειτουργίες, όχι όμως αρκετά καλός για να παρέχει τους απαιτούμενους πόρους για μια ιδιαίτερα απαιτητική εργασία. Αυτή η κατάσταση ώθησε μια αλλαγή, από τον διαχωρισμό των ακριβών διακομιστών για κοινή χρήση στον συνδυασμό οικονομικών διακομιστών, και έτσι γεννήθηκε η «εικονικοποίηση του cloud».
Ένα λογισμικό με την ονομασία υπερεπόπτης (hypervisor), εγκατεστημένο σε διάφορους φυσικούς διακομιστές, επιτρέπει την εικονικοποίηση και την κατανομή των πόρων σαν να βρίσκονταν σε έναν μόνο φυσικό διακομιστή. Οι τεχνολόγοι χρησιμοποιούσαν όρους όπως «utility computing» (κοινωφελής υπολογιστική) και «cloud computing» (υπολογιστική νέφους) όταν αναφέρονταν σε αυτή την εικονικοποίηση. Σε αυτά τα περιβάλλοντα cloud computing, η αύξηση σε μέγεθος του «cloud» ήταν απλή. Οι τεχνολόγοι μπορούσαν να προσθέσουν έναν καινούριο φυσικό διακομιστή στον χώρο υπολογιστών και να τον διαμορφώσουν ώστε να γίνει μέρος του συστήματος.
Καθώς οι τεχνολογίες και οι υπερεπόπτες αναπτύχθηκαν, οι εταιρείες ήθελαν να διαθέσουν τα οφέλη του cloud στους χρήστες που δεν διέθεταν δικούς τους πόρους. Είναι εύκολο για τους χρήστες να δεσμεύσουν και να ακυρώσουν υπηρεσίες cloud, ενώ είναι επίσης απλό για τις εταιρείες που παρέχουν υπηρεσίες cloud να εξυπηρετήσουν αυτές τις παραγγελίες: γίνεται σχεδόν ακαριαία.
Το μοντέλο πληρωμής βάσει χρήσης δίνει τη δυνατότητα σε ιδρύματα, εταιρείες και ιδιώτες προγραμματιστές να πληρώνουν για τους υπολογιστικούς πόρους «όποτε και όταν τους χρειαστούν, ακριβώς όπως και με τις μονάδες ρεύματος». Αυτό είναι το κλειδί του σύγχρονου cloud computing.