Professional Documents
Culture Documents
2.2cloud Notes 2021
2.2cloud Notes 2021
• Δομή (Fabric): Το στρώμα αυτό του Grid παρέχει την πληθώρα των
πόρων, που μπορούν να διαμοιραστούν μεταξύ των χρηστών του grid
μέσω των πρωτοκόλλων που παρέχει στους χρήστες του. Οι πόροι μπορεί
1
να είναι για παράδειγμα ένα κατανεμημένο σύστημα αρχείων, ένα cluster
υπολογιστών κλπ. Τα στοιχεία του fabric υλοποιούν τοπικές λειτουργίες
ανά πόρο που λειτουργούν πάνω σε συγκεκριμένους πόρους (είτε
φυσικούς είτε λογικούς) οι οποίοι μπορεί να ανήκουν σε τρείς
κατηγορίες:
o Υπολογιστικοί Πόροι
o Αποθηκευτικά Μέσα
o Δικτυακοί Πόροι
• Συνδεσιμότητα: Το επίπεδο της συνδεσιμότητας ορίζει τα θεμελιώδη
πρωτόκολλα επικοινωνίας και πιστοποίησης, που είναι απαραίτητα για
τις δικτυακές συνδιαλλαγές του Grid. Τα πρωτόκολλα επικοινωνίας
επιτρέπουν την συνδιαλλαγή δεδομένων μεταξύ των πόρων του
επιπέδου δομής, και τα πρωτόκολλα πιστοποίησης χτισμένα πάνω σε
αυτά παρέχουν ασφαλείς κρυπτογραφημένους μηχανισμούς
πιστοποίησης για τους χρήστες του Grid (1).
• Διαμοίραση Πόρων: Το επίπεδο διαμοίρασης πόρων (και
συνδεσιμότητας) επιτρέπει στον πιστοποιημένο χρήστη να χειριστεί
απομακρυσμένους πόρους δικτύου και υπηρεσίες. Ο ρόλος του επιπέδου
αυτού είναι η διαπραγμάτευση, η αρχικοποίηση, η επίβλεψη, ο έλεγχος, η
λογιστική και η πληρωμή της διαμοίρασης ενεργειών σε μεμονωμένους
πόρους (4).
• Συγκεντρωτικές υπηρεσίες: Το επίπεδο αυτό περιέχει πρωτόκολλα και
υπηρεσίες που δεν συσχετίζονται με κανένα συγκεκριμένο πόρο αλλά με
συλλογές πόρων. Παραδείγματα τέτοιων υπηρεσιών είναι τα παρακάτω:
o Υπηρεσίες Καταλόγου που επιτρέπουν την ανακάλυψη
υπαρχόντων πόρων.
o Υπηρεσίες συν-ανάθεσης, δρομολόγησης και μεσάζουσες
υπηρεσίες που επιτρέπουν την ανάθεση ενός ή περισσότερων
πόρων για ένα σκοπό και την δρομολόγηση εργασιών προς
αυτούς.
o Υπηρεσίες επίβλεψης και διάγνωσης υποστηρίζουν την επίβλεψη
των πόρων από αποτυχία ή κακόβουλες επιθέσεις.
o Υπηρεσίες αντιγράφων ασφαλείας δεδομένων υποστηρίζουν την
αντιγραφή των δεδομένων με σκοπό την αύξηση της απόδοσης
και της αξιοπιστίας αυτών.
• Εφαρμογές: Είναι το υψηλότερο επίπεδο όπου εκτελούνται οι
εφαρμογές των χρηστών που χρησιμοποιούν τα χαμηλότερα επίπεδα του
Grid έτσι ώστε να έχουν πρόσβαση στους πόρους αυτού.
2
2. Εισαγωγή στο Cloud Computing
Το Cloud Computing αποτελεί μια εδραιωμένη έκφανση της τεχνολογίας των
κατανεμημένων συστημάτων με κάποια ιδιαίτερα χαρακτηριστικά που το
τοποθετούν στο επίκεντρο των σημερινών εξελίξεων σε ότι αφορά την
προσφορά υπολογιστικών πόρων στο διαδίκτυο (1).
2.1 Ορισμοί
Το Cloud Computing είναι η παροχή συχνά εικονικών πόρων, που μπορούν
δυναμικά να κλιμακωθούν (dynamic scalability), ως υπηρεσία μέσω του
διαδικτύου έχοντας ως πρότυπο του οργανισμούς κοινής ωφέλειας (utilities)
(3). Επίσης πέραν των υπηρεσιών που παραδίδονται μέσω του διαδικτύου, που
από παλαιότερα ονομάζονται Λογισμικό ως υπηρεσία (Software-as-a-Service -
Saas), το Cloud Computing αναφέρεται και στο υλικό αλλά και το λογισμικό
συστημάτων που χρησιμοποιεί και στα κέντρα δεδομένων (data centers) (4).
3
περιλαμβάνονται μέσα στην γενικότερη έννοια του cloud computing
καθώς δεν προσφέρονται σαν υπηρεσία.
Άρα το Cloud Computing αποτελεί το άθροισμα του SaaS και του Utility
Computing. Οι πάροχοι του SaaS είναι χρήστες του Cloud. Συχνά για διάφορους
λόγους, όπως η οικονομία και ασφάλεια, αναπτύσσονται υβριδικά cloud (7) που
χρησιμοποιούν συγχρόνως ιδιωτικό και δημόσιο cloud, ή ακόμη και παραπάνω
από ένα δημόσιο cloud.
Από την σκοπιά του υλικού ας δούμε τρεις νέες προοπτικές που μας προσφέρει
το cloud computing:
2.2 Διαχωρισμός
Συχνά το Cloud Computing συγχέεται με άλλες τεχνολογίες του διαδικτύου που
προσφέρουν παρόμοιες υπηρεσίες.
Πολλές Cloud υλοποιήσεις σήμερα βασίζονται πάνω στα Grid και έχουν
αυτονομιστικά χαρακτηριστικά και χρεώνουν τις υπηρεσίες τους ως παροχές.
Αλλά το Cloud computing αποτελεί κάτι περισσότερο από αυτά και δεν είναι
απαραίτητο κάθε διαφορετικό cloud να περιέχει τα παραπάνω.
2.3 Χαρακτηριστικά
Το Cloud Computing δεν είναι μια αυστηρά ορισμένη έννοια. Στην
πραγματικότητα είναι αρκετά αυθαίρετη και κάθε υλοποίησή του μπορεί να
4
διαφέρει σημαντικά σε σχέση με τις υπόλοιπες. Υπάρχουν όμως κάποια κοινά
χαρακτηριστικά που είναι κοινά μεταξύ των υλοποιήσεων ή τουλάχιστον
μοιάζουν σε ένα μεγάλο βαθμό.
2.3.1 Οικονομικά
Το βασικό μοντέλο του Cloud Computing ορίζει ότι ο χρήστης πληρώνει για ότι
χρησιμοποιεί, αφού οι υπολογιστικοί πόροι προσφέρονται ως μια υπηρεσία η
οποία δανείζεται από τον cloud provider προς τον cloud user. Ο τελευταίος
καταναλώνει χρόνο από τους πόρους ανάλογα με τις ανάγκες του την
συγκεκριμένη χρονική στιγμή και τελικά πληρώνει ανάλογα με τον χρόνο που
κατανάλωσε.
5
Όπως είναι προφανές και από το διάγραμμα, με τη χρήση των clouds μπορούμε
να αποφύγουμε τα αρχικά κόστη εγκατάστασης και να έχουμε μόνο λειτουργικά
κόστη τα οποία αυξομειώνονται ανάλογα με την χρήση της υπηρεσίας που
προσφέρεται.
2.3.2 Αρχιτεκτονική
Οι περισσότερες υλοποιήσεις του cloud computing σήμερα βασίζονται στην
παροχή αξιόπιστων υπηρεσιών με την χρήση data centers τα οποία είναι
χτισμένα με την χρήση διαφόρων επιπέδων τεχνολογιών εικονικοποίησης
(virtualization). Οι Cloud υπηρεσίες είναι προσβάσιμες από όλους του χρήστες
του διαδικτύου. Επίσης τα clouds προσφέρουν ένα σημείο εισόδου για κάθε
υπηρεσία καθώς αποτελούν κατανεμημένα συστήματα αδιαφανή προς τους
χρήστες, δηλαδή ο χρήστης δεν είναι σε θέση να γνωρίζει ποιος εξυπηρετητής
του προσφέρει την υπηρεσία που λαμβάνει καθώς αυτός είναι κάπου μέσα στο
cloud. Τα clouds γενικότερα προσφέρουν συγκεκριμένα πρότυπα ποιότητας
υπηρεσίας (QoS) και στους εμπορικούς πελάτες τους προσφέρουν Συμφωνίες
Επιπέδου Υπηρεσίας (Service Level Agreements). Τα ανοιχτά πρότυπα και το
λογισμικό ανοιχτού κώδικα γενικότερα έχουν προσφέρει ιδιαίτερα στην
ανάπτυξη πολλών υλοποιήσεων του cloud computing μέχρι σήμερα (3).
Επιπλέον υπάρχει λογισμικό ανοιχτού κώδικα, όπως το owncloud [6], που δίνει
την δυνατότητα δημιουργίας cloud υπηρεσιών στον καθένα. Με αυτόν τον
τρόπο οποιοσδήποτε μπορεί να αξιοποιήσει διαθέσιμους υπολογιστικούς
πόρους για να αναπτύξει την δική του cloud υποδομή, στην οποία θα έχει τον
πλήρη έλεγχο.
6
μπορούν να τρέξουν σε αυτό και λόγω του ότι η γενικότερη υλοποίηση
προσφέρει πολύ χαμηλά επίπεδα αφαίρεσης σε όλα τα επίπεδα, επιτρέπει στους
χρήστες να φτιάξουν ότι θέλουν. Αυτό φυσικά κάνει πολύ δύσκολη την
κλιμάκωση και την επαναφορά σε περίπτωση δυσλειτουργίας υλικού.
Το βασικό μοντέλο του EC2 δίνει την δυνατότητα στον χρήστη να νοικιάζει
υλικό πάνω στο οποίο μπορούν να τρέξουν εικονικές μηχανές (virtual
machines). Ο χρήστης έχει την δυνατότητα να δημιουργήσει, να εκτελέσει και να
τερματίσει την λειτουργία εικονικών μηχανών κατά βούληση, όπως αυτός θέλει
πληρώνοντας με την ώρα χρήσης. Επίσης μπορεί να έχει κάποιες περιορισμένες
επιλογές στο επίπεδο του hardware, πάνω στο οποίο θα τρέχουν οι εικονικές
μηχανές. Προσφέρει εικονικές μηχανές που τρέχουν GNU/Linux αλλά και
Microsoft Windows.
Από άποψη αρχιτεκτονικής το EC2 χρησιμοποιούσε την μηχανή Xen για την
δημιουργία και διαχείριση των εικονικών μηχανών μέχρι τον Νοέμβριο του 2017
όπου ανακοίνωσε ότι υιοθετεί το KVM. Κάθε εικονική μηχανή λειτουργεί ως
εικονικός εξυπηρετητής. Ανάλογα με τις υπολογιστικές δυνατότητες, την κύρια
μνήμη που διαθέτουν και τον αποθηκευτικό χώρο που έχουν οι εικονικές
μηχανές χωρίζονται σε μικρές, μεσαίες και μεγάλες.
Όσον αφορά την πολιτική χρεώσεων, Google και Amazon προσφέρουν χρέωση
ανά δευτερόλεπτο. Επίσης έχουν γενναιόδωρα προγράμματα για δωρεάν δοκιμή
των υπηρεσιών τους, που μάλιστα στην περίπτωση της Google, κάποιος μπορεί
7
να χρησιμοποιεί ένα VM με λίγους υπολογιστικούς πόρους ( 0.2 virtual CPU, 0.60
GB μνήμη, 30 GB disk with 5 GB cloud storage) για όσο διάστημα επιθυμεί.
Αναφορές
1. Ι. Μοσχάκης, «Χρονοδρομολόγηση Παράλληλων Εργασιών σε Υπολογιστικά
Clouds Μοντελοποίηση, Προσομοίωση και Ανάλυση της Απόδοσης».
Μεταπτυχιακή Διατριβή, 2010.
2. Foster, Ian και Kesselman, Carl (Editors). The GRID 2: Blueprint for a New
Computing Infrastructure. [επιμ.] Ian Foster και Carl Kesselman. 2nd Edition.
Elsevier, 2004. ISBN: 1558609334.
6. https://owncloud.org