Τι είναι το cloud computing. Ανάλυση με απλά λόγια.
Στο σημερινό άρθρο θα προσπαθήσω να κάνω μία ανάλυση σε ένα όρο που χρησιμοποιούμε κατά κόρον στις ημέρες μας. Ο όρος αυτός είναι το “cloud computing”. To “cloud computing” είναι μία τεχνολογία που έχει αναπτυχθεί τα τελευταία χρόνια και πλέον πολλές εφαρμογές βασίζονται πάνω σε αυτό. Ας δούμε λοιπόν πώς ξεκίνησε η ανάπτυξη της τεχνολογίας αυτής και τι είναι και περιέχει ο όρος “cloud computing”.
Γιατί “cloud” και όχι κάποια άλλη λέξη;
Αυτή ήταν η πρώτη ερώτηση που μου ήρθε στο μυαλό όταν άκουσα τον όρο “cloud computing“. Βέβαια, στον προγραμματισμό συνηθίζεται να δίνονται περίεργα ονόματα σε διάφορες πτυχές του. Για παράδειγμα η γλώσσα “JAVA” ονομάστηκε έτσι από την τον καφέ Java. Στην περίπτωση του “cloud computing” η εξήγηση είναι πιο προφανής. Σε πολλά βιβλία τα οποία περιέχουν διαγράμματα και εξηγήσεις για το πώς λειτουργεί το ίντερνετ ,το απεικονίζουν σαν ένα σύννεφο στο οποίο συνδέονται τα router,οι webservers στους οποίους υπάρχουν οι web εφαρμογές κτλ και εν συνεχεία οι υπολογιστές που χρησιμοποιούν αυτές τις εφαρμογές. Με μια πρώτη ματιά θα μπορούσαμε να πούμε ότι αυτό το σύννεφο είναι το λεγόμενο “cloud”. Δεν είναι όμως ακριβώς έτσι τα πράγματα.
Απλή εξήγηση για το “cloud computing” με απλό παράδειγμα.
Με πολύ απλά λόγια το “cloud computing” είναι μία δομή, με την οποία μας δίνεται η δυνατότητα να έχουμε πρόσβαση και να χρησιμοποιούμε web εφαρμογές χωρίς να τις διαθέτουμε στον υπολογιστή μας ή σε κάποια άλλη συσκευή που είναι διασυνδεδεμένη με το ίντερνετ. Σε αυτή τη δομή η εφαρμογή βρίσκεται σε ένα server και εμείς τη χρησιμοποιούμε χωρίς να χρειάζεται να την εγκαταστήσουμε στον υπολογιστή μας.Ας κάνουμε ένα πολύ απλό παράδειγμα. Η Adobe, η γνωστή εταιρία, έχει δημιουργήσει μία online πλατφόρμα, την Adobe Creative Cloud. Αυτή η πλατφόρμα λειτουργεί ως εξής. Ένας χρήστης μπορεί με ένα αρκετά μικρό ποσό μηνιαίως να γίνει μέλος και να χρησιμοποιεί online εργαλεία όπως το Photoshop, Dreamweaver. Αυτό γίνεται χωρίς να χρειάζεται ο χρήστης να έχει κάποιο από αυτά τα προγράμματα στον υπολογιστή του. Όλα τα updates κλπ γίνονται από την ίδια την εταιρία και ο χρήστης πληρώνει ποσό ανάλογα με την “πακέτο” που έχει επιλέξει. Καταλαβαίνετε πόσο καλό είναι αυτό; Για παράδειγμα, το Photoshop κοστίζει πάνω από 1000 Ευρώ. Με αυτήν την cloud εφαρμογή ο χρήστης ενώ χρησιμοποιεί το πλήρες software πληρώνει μόνο λίγα ευρώ το μήνα για τη χρήση αυτή και το βασικότερο είναι ότι έχει πρόσβαση σε αυτό και στα αρχεία του από οποιονδήποτε υπολογιστή.
Πλεονεκτήματα cloud computing.
- Οικονομία.Αυτό είναι από τα πιο βασικά πλεονεκτήματα του cloud computing. Το κόστος που μπορεί να έχει ένα λογισμικό ίσως να είναι απαγορευτικό για μία μικρή εταιρία. Με το “cloud” τα δεδομένα αυτά αλλάζουν καθώς η εταιρία δεν πληρώνει την εφαρμογή αλλά πληρώνει την χρήση της. Συνήθως σε cloud δίκτυα υπάρχουν πολλές δυνατότητες και “πακέτα” για την πληρωμή της χρήσης κάποιας εφαρμογής.
- Μεγάλος Αποθηκευτικός Χώρος.Η αποθήκευση των διαφόρων πληροφοριών είναι θέμα υψίστης σημασίας. Με το cloud computing έχουμε συνήθως όσο αποθηκευτικό χώρο θα χρειαστούμε.
- Πρόσβαση από οποιαδήποτε συσκευή διαθέτει σύνδεση στο ίντερνετ.
- Πολύ μεγάλη ευελιξία.
Μειονεκτήματα του cloud computing.
- Ασφάλεια δεδομένων.Είναι λογικό κάποιες φορές να έχουμε συγκεκριμένα δεδομένα σε δικό μας τοπικό server και όχι στο cloud.
- Αυξημένη πολυπλοκότητα.Αυτό συμβαίνει όταν έχουμε μία εφαρμογή αποθηκευμένη κάπου τοπικά,σε ένα δικό μας webserverκαι προσπαθούμε να την κάνουμε να επικοινωνήσει με μία άλλη στο cloud. Τα πράγματα εκεί γίνονται αρκετά περίπλοκα και πολλές φορές η λύση εκτός ότι δεν είναι προφανής , αποτυγχάνει.
Ο όρος “υπηρεσία” στο cloud computing.
Αφού λοιπόν έχει αρχίσει να γίνεται κατανοητό τι είναι αυτό το “cloud computing” και πώς χρησιμοποιείται ας δούμε ένα βασικότατο όρο που χρησιμοποιείται μαζί. Τον όρο “υπηρεσία” ή στα αγγλικά “service”. “Υπηρεσία”, είναι η δυνατότητα που μας παρέχει το cloud σύστημα να χρησιμοποιούμε κάποιο software μέσα σε αυτό το δίκτυο. Αυτή η δυνατότητα ονομάζεται “υπηρεσία”. Ας δούμε λίγο κάποια βασικά είδη υπηρεσιών που μας προσφέρει το cloud computing. Θα χρησιμοποιήσω τους αγγλικούς όρους διότι έτσι αναφέρονται στην παγκόσμια βιβλιογραφία.
Software as Service (SasS)
Σε αυτό τον τύπο υπάρχει ένα application το οποίο βρίσκεται σε ένα cloud server και ο χρήστης μπορεί να έχει πρόσβαση σε αυτό μέσω μίας απλή σύνδεσης στο ίντερνετ. Το software αυτό ανήκει σε κάποιον κατασκευή και ο χρήστης το πληρώνει ανάλογα με την χρήση που του κάνει και τους πόρους που χρειάζεται. Το βασικό πλεονέκτημα του μοντέλου “software as service” είναι ότι ο κατασκευαστής αναλαμβάνει τα έξοδα συντήρησης του software καθώς και τη φιλοξενία του σε κάποιον cloud server. Ο χρήστης πληρώνει μόνο την χρήση που κάνε(αν και υπάρχουν και cloud applications που είναι δωρεάν).Επίσης το μοντέλο SasS είναι δημιουργημένο με βασικό γνώμονα τη σωστή λειτουργία του software με χρήση browser. Όσον αφορά την ασφάλεια των διαφόρων εφαρμογών, συνήθως χρησιμοποιείται SSL (Secure Sockets Layer) το οποίο είναι παγκοσμίως αναγνωρισμένο. Έτσι , οι χρήστες μπορούν με ασφάλεια να χρησιμοποιήσουν το cloud application.
Platform as Service (PasS)
Αυτό το μοντέλο μοιάζει πολύ με το προηγούμενο. Το βασικό του στοιχείο είναι ότιπαρέχει την πλατφόρμα την οποία χρησιμοποιεί ένας χρήστης για να δημιουργήσει κάτι, για παράδειγμα ένα web application, χωρίς να εγκαταστήσει τίποτα.Το “platform as service” μοντέλο χρησιμοποιείται πιο πολύ για δημιουργία web interfaces, web εφαρμογών κλπ. Ένα σημαντικό πρόβλημα που υπάρχει με αυτό το μοντέλο είναι ότι αυτή η εφαρμογή που δημιουργούμε βασίζεται σε ένα συγκεκριμένο framework και υπάρχει πιθανότητα αν θελήσουμε να την μεταφέρουμε σε άλλο παροχέα cloud υπηρεσιών αυτή να μη λειτουργεί σωστά.
Storage as a service (StaaS)
Στο μοντέλο αυτό υπάρχει κάποιος πάροχος αποθηκευτικού χώρου online ο οποίος στην ουσία τον νοικιάζει έναντι κάποιας αμοιβής. Ένα παράδειγμα απλό θα μπορούσε να θεωρηθεί το Dropbox.
Hardware as Service (HaaS)
Εδώ τα πράγματα έχουν ως εξής:Ο προμηθευτής αυτής της cloud υπηρεσίας παρέχει στον χρήστη έναντι “ενοικίου”-αμοιβής το hardware που χρειάζεται όπως web servers, μνήμη CPU ,αποθηκευτικό χώρο και ότι άλλο χρειάζεται ο χρήστης σε επίπεδο hardware. Τα χρήματα που πληρώνει κάποιος στο HaaS είναι αντίστοιχα της χρήσεως των πόρων του συστήματος που κάνει.
Database as Service (DaaS)
Σε αυτό το μοντέλο υπάρχει μία υπηρεσία online παρέχει την βάση δεδομένων την οποία μπορούμε να χρησιμοποιήσουμε με κάποιο web application. Σε αυτό το μοντέλο το βασικό πλεονέκτημα είναι ότι πληρώνουμε ανάλογα με την χρήση. Ουσιαστικά όσο πιο πολύ κόσμος χρησιμοποιεί την εφαρμογή μας τόσο περισσότερα χρήματα πληρώνουμε. Μία τέτοια υπηρεσία είναι η mongoDB.
Πασίγνωστες εταιρίες που παρέχουν υπηρεσίες cloud computing.
Οι πιο γνωστές εταιρίες είναι η amazon, η google και η microsoft. Η εταιρία amazon παρέχει βασικές υπηρεσίες όπως:
- Amazon Elastic Compute Cloud
- Amazon Simple Storage Service (S3) η οποία παρέχει αποθηκευτικό χώρο online.
Όσον αφορά την Microsoft , η πλατφόρμα που χρησιμοποιεί για να παρέχει cloud computing υπηρεσίες είναι η Azure. Η πλατφόρμα αυτή παρέχει μία μεγάλη ποικιλία από εργαλεία που εφαρμόζουν διάφορα μοντέλα cloud computing όπως το “HaaS” και το “PaaS”.
H google , τέλος , παρέχει την app engine.
H google , τέλος , παρέχει την app engine.
Cloud Os και Cloud Applications.
Σε αυτό το σημείο θα ήθελα να προσθέσω μερικά πράγματα ώστε η τεχνολογία cloud computing να μας γίνει ακόμα πιο κατανοητή. Από τη στιγμή που ο χρήστης εκτελεί κάποιες εργασίες που απαιτούν CPU, μνήμη κλπ αυτά συντελούν στο να σκεφτούμε ότι στο cloud υπάρχει ένα λειτουργικό σύστημα όπως ακριβώς σε ένα τοπικό υπολογιστή. Αυτό θα μπορούσε να ονομαστεί cloud operating system.Ένα cloud application λοιπόν είναι μία εφαρμογή που χρησιμοποιεί τους πόρους του cloud Os με σκοπό την ανάπτυξη και τη λειτουργία της.
Βασικά μοντέλα εφαρμογών του Cloud Computing
Public Cloud
Αυτό το μοντέλο δημιουργείται από εκατοντάδες web servers που τρέχουν και πάρα πολλά datacenters σε διάφορα σημεία του πλανήτη. Αυτό έχει ως αποτέλεσμα να μπορεί κάποιος να χρησιμοποιήσει μία υπηρεσία διαλέγοντας την τοποθεσία που θα βρίσκεται η εφαρμογή. Κοινώς διαλέγει το datacenter που είναι πιο κοντά του. Για παράδειγμα μία εταιρία στην Αμερική θα διαλέξει ένα cloud server που βρίσκεται στην Ν. Αμερική. Εταιρίες που προσφέρουν το public cloud είναι οι: Google, Amazon, Rackspace κλπ. Αυτή η public εφαρμογή του cloud υποστηρίζεται από εταιρίες πολύ εύρωστες οικονομικά διότι η ανάπτυξη και συντήρηση των webserver και datacenter παγκοσμίως κοστίζει πολλά χρήματα.Μία εφαρμογή που χρησιμοποιεί το “public cloud” είναι τα CDN (content delivery networks) μέσα από τα οποία το περιεχόμενα ενός site αποθηκεύεται σε κάποια datacenters παγκοσμίως και τα προσφέρει στους χρήστες της ιστοσελίδας όταν τα ζητάνε με πολύ μεγάλες ταχύτητες.
Private Cloud
Αυτό το είδος της cloud τεχνολογίας εφαρμόζεται μέσα σε οργανισμούς-εταιρίες όπου δημιουργείται ένα cloud δίκτυο το οποίο όμως βρίσκεται στα όρια του οργανισμού αυτού. Το δίκτυο αυτό δημιουργείται κατά παραγγελία με βάση τις ανάγκες του οργανισμού.
Ο όρος “Virtualization” στο cloud computing.
Τον όρο “virtualization” θα προσπαθήσω να τον εξηγήσω με ένα απλό παράδειγμα και εν συνεχεία να τον συνδέσω με το cloud computing. Επίσης σας παραθέτω ένα καταπληκτικό βίντεο που εξηγεί τον παραπάνω όρο χρησιμοποιώντας lego.
Η τεχνολογία virtualization είναι η κινητήριος δύναμη του cloud computing. Στην τεχνολογία αυτή μπορούμε να χωρίσουμε ένα φυσικό hardware, ένα webserver , σε πολλά κομμάτια που το κάθε ένα τρέχει το δικό του λειτουργικό. Έτσι επιτυγχάνεται άριστη λειτουργικότητα , ταχύτητα και απόλυτη αξιοποίηση των πόρων του συστήματος. Αυτά τα κομμάτια είναι σαν εικονικοί servers και ονομάζονται “virtual machines” ή VMs. To cloudσυνδέεται με την έννοια virtualization γιατί ουσιαστικά είναι ένα σύνολο συνδεδεμένων virtual machines. Αυτός είναι ο λόγος που τα cloud δίκτυα έχουν τόσες πολλές δυνατότητες και επεκτασιμότητα διότι μοιράζονται του πόρους διάφορων συνδεδεμένων virtual machines. Δείτε εδώ ένα εκπληκτικό video που εξηγεί το virtualization στο cloud computing.
Περαιτέρω έρευνα για το cloud computing και πηγές.
Αφού είδαμε τα βασικά στοιχεία της τεχνολογίας cloud σας παραθέτω μερικές πηγές ώστε να ψάξετε , να διαβάσετε και να επεκτείνετε τις γνώσεις σας.
Καλά βιβλία για το cloud computing.
- Cloud computing για dummies.Ένα πολύ καλό βιβλίο για εντελώς αρχάριους που σας εισάγει στην τεχνολογία αυτή χωρίς δυσνόητες έννοιες.
- The cloud at your service.
- Securing the Cloud: Cloud Computer Security Techniques and Tactics.Το βιβλίο αυτό δίνει έμφαση στην ασφάλεια των cloud εφαρμογών και των cloud δικτύων.Πολύ καλό γι αυτούς που θέλουν να μάθουν για το πώς θα εφαρμόσουν κάποια τεχνολογία που παρέχει το cloud computing με μέγιστη ασφάλεια.
Άλλες πηγές για το cloud computing.
- Cloud Computing:Web based applications that change the way you work and collaborate online.Ένα άρθρο-βιβλίο 29 σελίδων για αρχάριους.
- Introduction to cloud computing
- Cloud Computing Online Training Knowledge Labs Course Online-Video στο Youtube.
- Above the Clouds: A Berkeley View of Cloud Computing
- Άρθρα για το cloud computing στο cmswire.com.
Επίλογος
Κάπου εδώ τελειώνει η μικρή ανάλυση που προσπάθησα να κάνω ώστε να γίνει κατανοητό τι είναι το cloud computing. Ελπίζω το άρθρο αυτό να σας άρεσε και να ήταν χρήσιμο στην αύξηση των γνώσεών σας.Σας ευχαριστώ πολύ για την ανάγνωση.
Κατηγορίες:
Σχόλια