Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΕΝΣΥΡΜΑΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΣ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Ψιλόπουλου Κωνσταντίνου του Θωμά Αριθμός Μητρώου: 6413 Θέμα «Δημιουργία υπολογιστικών κόμβων σε υποδομές Cloud Computing» Επιβλέπων Επίκουρος Καθηγητής Σπύρος Δενάζης Αριθμός Διπλωματικής Εργασίας: Πάτρα, Νοέμβριος

2 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «Δημιουργία υπολογιστικών κόμβων σε υποδομές Cloud Computing» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Ψιλόπουλος Κωνσταντίνος του Θωμά Αριθμός Μητρώου: 6413 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Επιβλέπων Καθηγητής Σπύρος Δενάζης Επίκουρος Καθηγητής Ο διευθυντής του Τομέα Νικόλαος Φακωτάκης Καθηγητής 2

3 Αριθμός Διπλωματικής Εργασίας: «Δημιουργία υπολογιστικών κόμβων σε υποδομές Cloud Computing» Φοιτητής: Επιβλέπων: 3

4 Περίληψη: Η παρούσα διπλωματική έχει σαν σκοπό τη διερεύνηση της τεχνολογίας του Cloud Computing και της τεχνολογίας της Virtualization που την στηρίζει. Παρουσίαση της ιστορίας και μια τεχνική παρουσίαση των δυνατοτήτων και των καταβολών των τεχνολογιών. Αναφέρονται πρακτικές εφαρμογές που μπορούν οι συγκεκριμένες τεχνολογίες να εφαρμοστούν και τους σκοπούς που θα εξυπηρετήσουν. Επίσης γίνεται μια πιο αναλυτική παρουσίαση δυο προγραμμάτων (Xen Hypervisor για το επίπεδο της Virtualization, Eucalyptus σαν πλατφόρμα για τη δημιουργία IaaS Clouds). Παρουσιάζονται επίσης σύντομοι οδηγοί για την εγκατάσταση ενός Cloud, καθώς και το configuration μαζί με τους λόγους που χρησιμοποιήθηκε. Abstract: The scope of this thesis is to study the technology of Cloud Computing and the Virtualization technology that is supporting it. A presentation of the history, a technical overview and the origins of these technologies. There are mentioned some fields that the specified technologies could apply and the purposes that they would serve. On the third chapter, a more detailed presentation of two pieces of software is given (Xen Hypervisor for the Virtualization Layer, Eucalyptus as the platform to create IaaS Clouds). In the end quick how-to guides are described on the procedure to install a Cloud, the configuration and the reasons of the specific set up as well. Περιεχόμενα...1 Εισαγωγή Virtualization...9 4

5 1.1: Το Virtualization εν τάχει : Τι ακριβώς είναι η τεχνολογία του Virtualization; [2] : Ιστορία της τεχνολογίας του virtualization : Τύποι Virtualization : Storage Virtualization : Network Virtualization : Virtualization εφαρμογών : Server Virtualization : Η σχέση του Λειτουργικού Συστήματος με την αρχιτεκτονική του επεξεργαστή : Ο ρόλος του επιμελητή εικονικών μηχανών (Virtual Machine Monitor VMM - Hypervisor) : Οι απαιτήσεις Popek και Goldberg : Η πρόκληση: Hypervisors για την αρχιτεκτονική x86 (Hypervisors τύπου 1 και 2) : Συχνές περιπτώσεις χρήσης της τεχνολογίας του Virtualization : Ανανέωση της τεχνολογίας: : Συνέχιση εργασίας και επαναφορά από αποτυχίες: : Δημιουργία περιβάλλοντος για τη δοκιμή νέων ιδεών: : Virtual Desktops: : Δημιουργία περιβάλλοντος για την ανάπτυξη και την παραμετροποίηση εφαρμογών: Cloud Computing : Τι είναι το Cloud Computing;...31 Ορισμός του Cloud Computing σύμφωνα με το US NIST...32 Βασικά Λειτουργικά Χαρακτηριστικά Cloud Computing: : Ιστορία του Cloud Computing : Τα 5 γεγονότα κλειδιά στην ιστορία του Cloud Computing : Τρεις απόψεις που είναι νέες στο Cloud Computing από πλευράς hardware : Οι πιο διαδεδομένες μορφές υπηρεσιών Cloud Computing [10] : IaaS : PaaS : SaaS : Υλοποιήσεις Cloud : Γιατί να επιλέξει κάποιος το Cloud Computing : Open source και Market-Oriented (εμπορικού σκοπού) Cloud Computing : Open-Source: : Market-oriented: : Ποια είναι η σχέση μεταξύ Virtualization και Cloud Computing; : Μελλοντικοί στόχοι για το Cloud Computing Συστατικά ενός Cloud : Εισαγωγή : Xen : Τι είναι ο Hypervisor του Xen; : Συστατικά του περιβάλλοντος του Xen : Xen Hypervisor : Domain : Domain U : Διαχείριση και έλεγχος των Domain : Η λειτουργία του Xen : Εξέχοντα σημεία στην ανάπτυξη του Xen : E U C A L Y P T U S - Elastic Utility Computing Architecture Linking Your Programs To Useful Systems [20][21][22] : Η τεχνολογία του

6 3.3.2: Τα στοιχεία που απαρτίζουν το Eucalyptus : Virtual Networking : Eucalyptus Configuration : Πλεονεκτήματα...68 Κεφάλαιο Διαδικασία στησίματος και υλοποίησης μιας πλατφόρμας Cloud Computing...70 Μετά από τη παρουσίαση που έχει γίνει στην τεχνολογία του Virtualization και του Cloud Computing αλλά και εργαλείων που τα υλοποιούν είναι αναγκαίο να παρουσιαστεί και η λογική με την οποία μπορούν να εφαρμοστούν για τη δημιουργία ενός κόμβου που μπορεί να προσφέρει Cloud-based υπηρεσίες. Τα ερωτήματα τα οποία γίνεται προσπάθεια να καλυφθούν σε αυτό το κεφάλαιο είναι τα εξής Ποια είναι η ανάγκη, το πρόβλημα ή το κενό που παρουσιάστηκε; Ποια είναι η απάντηση ή λύση που δίνεται στο παραπάνω ερώτημα; Με ποια υλοποίηση θα προσφέρουμε την συγκεκριμένη λύση; Ποιες είναι οι δυνατότητες επέκτασης των δυνατοτήτων της υποδομής που θα σχεδιαστεί; Οι ανάγκες, τα προβλήματα και τα κενά που έχουν παρατηρηθεί Παρουσίαση της λύσης. Προετοιμασία για την υλοποίηση Υλοποίηση των λύσεων Μελλοντικές δυνατότητες βελτίωσης επέκτασης...90 Παράρτημα Α:...91 Παράρτημα Β:...95 Παράρτημα Γ: Βιβλιογραφία: Κατάλογος εικόνων Εικόνα 1: Γενική ιδέα της Virtualization...15 Εικόνα 2: Παρουσίαση των δακτυλίων...23 Εικόνα 3: Θέση του Hypervisor/Virtual Machine Monitor...25 Εικόνα 4: Μορφές και επίπεδα Cloud Computing σαν παρεχόμενες υπηρεσίες...38 Εικόνα 5: Οργάνωση και σχεδιασμός ενός market oriented Cloud...44 Εικόνα 6: Βασική οργάνωση των στοιχείων που απαρτίζουν ένα σύστημα με Xen Virtualization...48 Εικόνα 7: Οδηγοί που περιλαμβάνονται στον Domain Εικόνα 8: Οδηγοί που περιλαμβάνονται στον Domain U...50 Εικόνα 9: Λειτουργία Hardware Virtualization και παρουσίαση υποδομής στον guest...51 Εικόνα 10: Επικοινωνία μέσω του Xend daemon...51 Εικόνα 11: Ρόλος της libxenctrl...52 Εικόνα 12: Κανάλι γεγονότων μεταξύ Domain 0 - Domain U...54 Εικόνα 13: Xen PCI Passthru επικοινωνία guest απευθείας με το hardware...55 Εικόνα 14: Αρχιτεκτονική Eucalyptus...60 Εικόνα 15: Μια τυπική εγκατάσταση του Eucalyptus και παρουσίαση των συνιστωσών...61 Εικόνα 16: Σύνδεση public interface του instance με το public δίκτυο...65 Εικόνα 17: VLAN tagging και απομόνωση μεταξύ instances που δεν πρέπει να επικοινωνούν...67 Εικόνα 18: Πορεία αιτημάτων

7 Εικόνα 19: Αποθήκευση σε buckets...76 Εικόνα 20: Δικτύωση...78 Εικόνα 21: Περιορισμός πρόσβασης μέσω δικτύων VLAN...79 Εικόνα 22: Υλοποίηση Hybrid Cloud...82 Εικόνα 23: Describe images (CloudVille)...89 Εικόνα 24: Describe Keypairs (CloudVille)...90 Εικόνα 25: Create Keypair (CloudVille)...90 Εικόνα 26: Run Instance (CloudVille)...91 Εικόνα 27: Describe Instances (CloudVille)...92 Εικόνα 28: Συνοπτική αναπαράσταση της υλοποίησης...93 Εικόνα 29: Η εκκίνηση και το φόρτωμα του hypervisor και του συμβατού kernel στον grub bootloader...98 Εικόνα 30: O δαίμονας xend στις διεργασίες, ένα VM σε εκτέλεση και το interface που το VM είναι προσαρτημένο σύμφωνα με τον host...99 Εικόνα 31: Eucalyptus Networking Εικόνα 32: Σχηματική παρουσίαση της τοπολογίας δικτύου

8 Εισαγωγή Στο κείμενο που ακολουθεί περιγράφεται και παρουσιάζεται η υλοποίηση της τεχνολογίας του Cloud Computing. Στα τέσσερα κεφάλαια της εργασίας ο αναγνώστης εισάγεται στις θεωρητικές αλλά και πρακτικές γνώσεις της τεχνολογίας. Ακολουθεί μια σύντομη περιγραφή των περιεχομένων του κάθε κεφαλαίου. Το πρώτο κεφάλαιο περιγράφει την τεχνολογία του Virtualization. Οι θεωρητικές γνώσεις γύρω από αυτό το αντικείμενο είναι απαραίτητες για τον αναγνώστη, επειδή όλες οι ιδέες που παρουσιάζονται είναι αυτές που κάνουν δυνατή την ανάπτυξη της τεχνολογγίας του Cloud. Μια σύντομη ιστρορική αναδρομή παρουσιάζει την εξέλιξη της τεχνολογίας από τα πρώτα στάδια της εμφάνισης της. Ακολουθεί μια πιο λεπτομερής παρουσίαση της ένοιας του Hypervisor (VMM) καθώς και η σχέση αυτού του προγράμματος με την αρχιτεκτονική της κεντρικής μονάδας επεξεργασίας αλλά και με το λειτουργικό σύστημα. Αναπτύσσονται οι μορφές που έχει σήμερα η τεχνολογία και δίνεται έμφαση στην τεχνολογία του Virtualization των server. Στο τέλος αναφέρονται πολύ συχνές περιπτώσεις χρήσης του Virtualization για να δοθεί στον αναγνώστη και μια αντίληψη της πρακτικής της εφαρμογής και των πλεονεκτημάτων της τεχνολογίας. Το αντικείμενο αυτού του κεφαλαίου δίνει στο χρήστη τη δυνατότητα να καταλάβει την περιγραφή της τεχνολογίας του Cloud που ακολουθεί. Μια πολύ νέα τεχνολογία οπως το Cloud Computing είναι αναγκαίο να προσδιοριστεί από ε\έναν ορισμό. Αυτός παρέχεται από το US NIST (United States National Institute of Standards and Technology). Μετά από την ανάπτυξη μιας εικόνας για την πορεία που έχει ακολουθήσει η τεχνολογία δίνονται και οι 5 πιο κομβικοί σταθμοί της. Οι υπηρεσίες Cloud Computing υλοποιείται με τις μορφές IaaS, PaaS, SaaS οι οποίες αναπτύσσονται. Ακολουθεί μια αναφορά και περιγραφή των Private, Community, Public και Hybrid Cloud για να αποκτήσει ο αναγνώστης την εικόνα του με ποιό τρόπο παρέχονται οι υπηρεσίες. Τα πλεονεκτήματα αυτών των υπηρεσιών ορίζουν το γιατί είναι μια σημαντικλη επιλογή η στροφή στο Cloud Computing. Γινεται αναφορά στην ύπαρξη open-source και εμπρικων υλοποιήσεων του Cloud Computng για να καταλήξει το κεφάλαιο στους μελλοντικούς στόχους που πρέπει να τεθούν για την τεχνολογία αυτη. Στο τρίτο κεφάλαιο γίνεται γνωριμία με την λειτουργία και τα γνωρίσματα δυο προγραμμάτων που μποορούν να υλοποιήσουν την τεχνολογία του Cloud. Αυτά τα προγράμματα είναι ο Xen Hypervisor και το Eucalyptus. Γίνεται μια λεπτομερής παρουσίαση των στοιχείων που απαρτίζουν τα προγράμματα αυτά, το πως επικοινωνούν μεταξύ τους αυτά τα συστατικά. Παρουσιάζονται στοιχεία τα οποία οι κάτοχοι αυτών των προγραμμάτων ορίζουν σαν 8

9 πλεονεκτήματα αυτών, ώστε να γίνει πιο ξεκάθαρο το γιατί επιλέχθηκαν. Με τη γνώση αυτή θα γίνει η προσπάθεια που περιγράφεται στο επόμενο κεφάλαιο για την υλοποίηση-στήσιμο ενός Hybrid Cloud. Κατά τη διαδικασία της σχεδίασης της υλοποίησης, ακολουθήθηκε μια λογική του να τεθούν ερωτήματα να απαντηθούν με γενικές λύσεις και αυτές τελικά να εξειδικευτούν σε πρακτικό επίπεδο. Η διαδικασία αυτή έγινε ώστε να στηθεί ένα IaaS Hybrid Cloud σε server του εργαστηρίου της σχολής. Γίνεται αναφορά στα προβλήματα που αντιμετωπίστηκαν κατά την υλοποίηση και πως αυτά απαντήθηκαν. Εφόσον κρίθηκε απαραίτητο για την εγκατάσταση μας, αναπτύχθηκε μια εφαρμογή η οποία απλοποιεί το πρόσωπο των υπηρεσιών προς το χρήστη και φέρνει την εγκατάσταση μας πιο κοντά στα μέτρα των αναγκών μας. Παρουσιάζονται εικόνες της τελικής αρχιτεκτονικής και επιμέρους κομματιών της, αλλά και εικόνες από την εφαρμογή. Κατάληξη του κειμένου είναι μια σειρά από παραρτήματα τα οποία δίνουν όλες τις απαραίτητες πληροφορίες για την υλοποίηση εκ νέου μιας τεέτοιας υποδομής. 9

10 Κεφάλαιο Virtualization 1.1: Το Virtualization εν τάχει. Θέτοντας το απλά η τεχνολογία του Virtualization είναι μια ιδέα της οποίας η στιγμή είχε φτάσει. Ο όρος Virtualization περιγράφει ευρέως την τμηματοποίηση των πόρων του υποκείμενου φυσικού hardware και των πόρων του, ώστε να καλυφθούν αιτήματα υπηρεσίας προς το συγκεκριμένο hardware. Με την εικονική μνήμη για παράδειγμα ο υπολογιστής μπορεί να πάρει πρόσβαση σε περισσότερη μνήμη από αυτή που στην πραγματικότητα είναι εγκατεστημένη στο σύστημα. Αυτό είναι δυνατό μέσω την μεταφοράς σελίδων της μνήμης στην εικονική μνήμη swap στο σκληρό δίσκο. Παρόμοια τεχνικές Virtualization μπορούν να εφαρμοστούν σε όλα τα επίπεδα των υπολογιστικών υποδομών δίκτυα, αποθήκευση, laptop και server hardware, λειτουργικά συστήματα και τις εφαρμογές που τρέχουν σε αυτά. Αυτό το μείγμα τεχνολογιών Virtualization ή εικονικών υποδομών παρέχει ένα επίπεδο αφαίρεσης ανάμεσα στο hardware που γίνεται η διαδικασία εκτέλεσης, αποθήκευσης, οι διαδικασίες δικτύου και στις εφαρμογές που τρέχουν σε αυτό. Η εφαρμογή εικονικών υποδομών δεν προκαλεί καμία διαταραχή καθώς ο χρήστης δεν μπορεί να παρατηρήσει παρά μόνο πολύ μικρές μεταβολές στην εμπειρία του από το σύστημα. Ωστόσο οι εικονικές υποδομές παρέχουν στους διαχειριστές του συστήματος τη δυνατότητα και το πλεονέκτημα της διαχείρισης των πόρων από ένα κοινό ταμείο σε όλη την έκταση της υποδομής, συνθήκη που τους επιτρέπει την γρήγορη απάντηση σε δυναμικές οργανωτικές ανάγκες και στην καλύτερη κλιμακωτή επένδυση για νέες υποδομές. [1] Η τεχνολογία του virtualization υπάρχει, στην πραγματικότητα, για αρκετές δεκαετίες. Αρχικά προσπελάσιμο μόνο από τις μεγάλες και κερδοφόρες επιχειρήσεις, η τεχνολογία του virtualization είναι πλέον διαθέσιμη σε κάθε πτυχή της πληροφορικής (hardware, software, επικοινωνίες). Σε πολλές περιπτώσεις η τεχνολογία είναι ελεύθερα διαθέσιμη (εξαιτίας του opensource) ή ακόμα και στα πλαίσια ενός λειτουργικού συστήματος, η προγράμματος αποθήκευσης. 1.2: Τι ακριβώς είναι η τεχνολογία του Virtualization; [2] Σήμερα η ερώτηση αυτή απαντάτε με πολλούς τρόπους. Διαφορετικοί κατασκευαστές και ανεξάρτητοι πωλητές λογισμικού επινόησαν την έκφραση αυτή για να κατηγοριοποιήσουν τα 10

11 προϊόντα τους σαν εργαλεία για να βοηθήσουν τις εταιρίες για να εγκαταστήσουν εικονικές υποδομές (virtualized infrastructure). Αυτός ο ισχυρισμός για το όνομα της τεχνολογίας δεν είναι εσφαλμένος καθώς τα προϊόντα αυτά επιτυγχάνουν μερικούς από τους βασικούς στόχους της τεχνολογίας του virtualization. 1. Προσθέτουν ένα επίπεδο αφαιρετικότητας (abstraction) ανάμεσα στην εκάστοτε εφαρμογή και το hardware 2. Μειώνουν το κόστος και την πολυπλοκότητα. 3. Προσφέρουν απομόνωση των πόρων των υπολογιστών για αυξημένη αξιοπιστία και ασφάλεια 4. Βελτιώνουν τα επίπεδα υπηρεσιών και την ποιότητα της υπηρεσίας 5. Συγχρονίζουν-ευθυγραμμίζουν τις IT διαδικασίες με τους επιχειρηματικούς στόχους 6. Εξαλείφουν την αποδέσμευση και μεγιστοποιούν το ποσοστό χρήσης των IT υποδομών Ενώ ο πιο διαδεδομένος τύπος virtualization έχει επικεντρωθεί στις server hardware πλατφόρμες, αυτοί οι στόχοι έχουν βρει την δίοδο για την εξυπηρέτηση τους και σε άλλες σημαντικές και ακριβές πτυχές ενός σύγχρονου data center όπως ο αποθηκευτικός χώρος και η δικτυακές υποδομές. Για μια σφαιρική αντίληψη γύρω από την εν λόγω τεχνολογία πρέπει να αναφερθεί η ιστορία και οι καταβολές της virtualization. 1.3: Ιστορία της τεχνολογίας του virtualization. Στην αρχική της μορφή η τεχνολογία του virtualization ήταν περισσότερο γνωστή (στα 1960) ως time sharing. Ο Christopher Strachey, ο πρώτος καθηγητής Cοmputation στο πανεπιστήμιο της Οξφόρδης και επικεφαλής της ερευνητικής ομάδας προγραμματισμού, έφερε αυτό τον όρο πρώτη φορά, στη δημοσίευση του Time Sharing in Large Fast Computers. Ο Strachey,που ήταν πιστός συνήγορος της διατήρησης ισορροπίας ανάμεσα σε πρακτική και θεωρητική δουλειά γύρω από τη χρήση και ανάπτυξη των υπολογιστικών συστημάτων, αναφερόταν σε αυτό (το time sharing) σαν πολυπρογραμματισμός. Αυτή η τεχνική θα επέτρεπε σε ένα προγραμματιστή να αναπτύξει ένα πρόγραμμα στην κονσόλα του ενώ ένας άλλος θα μπορούσε να το κάνει debug, αποφεύγοντας τον συνηθισμένο χρόνο της αναμονής για τα περιφερειακά. Ο 11

12 προγραμματισμός, καθώς και άλλες πρωτοποριακές ιδέες οδήγησαν τις καινοτομίες, συντελώντας στο να βγουν στο προσκήνιο μια σειρά υπολογιστών. Δύο από αυτούς θεωρούνται κομμάτι της εξελικτικής καταγωγής της τεχνολογίας του virtualization με τον τρόπο που τη γνωρίζουμε σήμερα ο Atlas και ο M44/44X της IBM Ο υπολογιστής Atlas. Ο πρώτος από τους υπερυπολογιστές των πρώτων '60s επωφελήθηκε από ιδέες όπως timesharing, multiprogramming και κοινός έλεγχος περιφερειακών και του δόθηκε ο τίτλος Atlas computer. Το project διαχειριζόταν από το τμήμα Ηλεκτρολόγων Μηχανικών του πανεπιστημίου του Manchester και χρηματοδοτούνταν από την Ferranti Limited, ο Atlas ήταν ο πιο γρήγορος υπολογιστής της εποχής του. Η ταχύτητα του οφειλόταν αν μέρει στο διαχωρισμό διεργασιών του λειτουργικού συστήματος σε δύο συστατικά: Το πρώτο ονομαζόταν επιβλέπων (supervisor), και το δεύτερο συστατικό ήταν υπεύθυνο για την εκτέλεση των προγραμμάτων χρήστη. Ο supervisor διαχειριζόταν σημαντικούς πόρους, όπως ο χρόνος επεξεργασίας του υπολογιστή, και περνούσε ειδικές οδηγίες, ή extracodes, για να βοηθήσει τον πρόβλεψη και διαχείριση του υπολογιστικού περιβάλλοντος για τις εντολές του προγράμματος χρήστη. Ουσιαστικά αυτή είναι και η γέννεση του Hypervisor, ή επιμελητή εικονικών μηχανών (virtual machine monitor). Επιπλέον ο Atlas εισήγαγε την ιδέα της εικονικής μνήμης, ονομαζόμενη one-level store, και τεχνικές σελιδοποίησης για τη μνήμη συστήματος. Αυτός ο αποθηκευτικός πυρήνας ήταν επίσης λογικά διαχωρισμένος από την αποθήκευση που χρησιμοποιούταν για τα προγράμματα χρήστη, παρόλο που αυτά τα δύο ήταν ενωμένα κατά πολλούς τρόπους, πράγμα που αποτελεί το πρώτο βήμα για τη δημιουργία ενός στρώματος αφαιρετικότητας (abstraction), πράγμα που όλες οι τεχνικές virtualization έχουν σαν κοινό. Το project Μ44/44Χ. Αποφασισμένη να διατηρήσει τον τίτλο του υπέρτατου καινοτόμου στους υπολογιστές και με κίνητρο την ανταγωνιστική ατμόσφαιρα, η ΙΒΜ απάντησε με το project M44/44X. Με έδρα το ερευνητικό κέντρο ΙΒΜ Thomas J. Watson στην Yorktown, New York, το project δημιούργησε μια παρόμοια αρχιτεκτονική με τον υπολογιστή Atlas. Αυτή η αρχιτεκτονική ήταν η πρώτη που εισήγαγε τον τίτλο Virtual Machines (εικονικές μηχανές) και ήταν η συνεισφορά της ΙΒΜ στην ανερχόμενη ιδέα των time-sharing συστημάτων. Το κυρίως μηχάνημα ήταν ένας ΙΒΜ 7044 (Μ44) επιστημονικός υπολογιστής και ένας αριθμός από 7044 virtual machines, ή 44Χ, που 12

13 χρησιμοποιούσαν hardware, αλλά και λογισμικό, εικονική μνήμη και πολυπρογραμματισμό αντίστοιχα. Διαφορετικά με μετέπειτα υλοποιήσεις time-sharing συστημάτων, Μ44/44Χ virtual machines δεν παρείχαν μια ολοκληρωμένη προσομοίωση του υποκείμενου hardware. Αντίθετα προωθούσε την ιδέα ότι τα Virtual Machines ήταν και πιο αποτελεσματικές και πιο συμβατικές προσεγγίσεις. Για να εγκαθιδρύσει αυτή την ιδέα, η ΙΒΜ επιτυχώς παρουσιάζει διαδόχους του project Μ44/44Χ, που έδειξαν ότι αυτή η ιδέα όχι απλά ήταν σωστή, αλλά μπορούσε και να είναι μια επιτυχημένη προσέγγιση για την πληροφορική και τα υπολογιστικά συστήματα. CP/CMS Μια μετέπειτα υλοποίηση, ο ΙΒΜ 7094, ολοκληρώθηκε από τους ερευνητές του ΜΙΤ και μηχανικούς της ΙΒΜ και εισήγαγε το Compatible Time Sharing System (CTSS). Ο όρος compatible (συμβατός) αναφέρεται στον συμβατότητα με την επεξεργασία κατά ομάδες του λειτουργικού συστήματος που χρησιμοποιούνταν στο μηχάνημα, το Fortran Monitor System (FMS). CTSS όχι μόνο έτρεχε FMS στο κυρίως 7094 σαν πρωτεύουσα εγκατάσταση, για την βασική ομάδα διεργασιών, αλλά επίσης έτρεχε και ένα όμοιο αντίγραφο του FMS σε κάθε Virtual Machine σαν εγκατάσταση στο παρασκήνιο. Οι εντολές παρασκηνίου μπορούσαν να έχουν πρόσβαση σε όλα τα περιφερειακά, όπως κασέτες, εκτυπωτές, αναγνώστες διάτρητων καρτών, και γραφικές απεικονίσεις, με τον ίδιο τρόπο με τις διεργασίες του FMS του προσκηνίου, καθώς δεν παρενέβαιναν στους time-sharing επεξεργαστές του προσκηνίου ή άλλου υποστηρικτικούς πόρους. Το ΜΙΤ συνέχισε να αξιολογεί τις προοπτικές του time-sharing και ανέπτυξε το project MAC σαν μια προσπάθεια να αναπτύξει την επόμενη γενιά από προόδους στην τεχνολογία του time-sharing, πιέζοντας έτσι τους κατασκευαστές hardware να παρουσιάσουν βελτιωμένες πλατφόρμες για την εργασία αυτή. Η απάντηση της ΙΒΜ ήταν μια τροποποιημένη και προσαρμοσμένη έκδοση του System/360 (S/360) που θα περιείχε εικονική μνήμη και ιδέες timesharing που δεν είχαν χρησιμοποιηθεί πιο πριν από την ΙΒΜ. Αυτή πρόταση για το project MAC απορρίφθηκε από το ΜΙΤ, μια καταστροφική κίνηση για το Επιστημονικό κέντρο του Cambridge (Cambridge Scientific Center CSC), του οποίου μόνη πρόθεση ήταν να υποστηρίξει την σχέση ΜΙΤ/ΙΒΜ μέσα από τεχνική καθοδήγηση και εργαστηριακές δραστηριότητες. Η σχέση μεταξύ των δυο (ΙΒΜ ΜΙΤ) οδήγησε στο πιο ζωτικό σημείο της ιστορίας της ΙΒΜ. Η ομάδα CSC, με τους Norm Rassmussen και Bob Creasy επικεφαλής, ένα κομμάτι του MAC project, συνεισέφερε στην ανάπτυξη του CP/CMS. Στα τέλη της δεκαετίας του '60 η CSC ανέπτυξε το πρώτο επιτυχημένο Virtual Machine με λειτουργικό σύστημα που έτρεχε σε 13

14 εξολοκλήρου εικονικό hardware, το CP-40. Το CP-67 εκδόθηκε σαν μια νέα υλοποίηση του CP-40, και αλλάχτηκε αργότερα και υλοποιήθηκε σαν S/ και αργότερα σαν S/370. Η επιτυχία αυτής της πλατφόρμας της ΙΒΜ κέρδισε πάλι την αξιοπιστία από το ΜΙΤ καθώς και αρκετών από τους μεγαλύτερους πελάτες της ΙΒΜ. Επίσης οδήγησε στην εξέλιξη της πλατφόρμας και στο να τρέχουν Virtual Machines με Λειτουργικό Σύστημα πάνω σε αυτή την πλατφόρμα, με την πιο δημοφιλή πλατφόρμα να είναι η VM/370. To VM/370 είχε τη δυνατότητα να τρέχει αρκετά Virtual Machines, με μεγαλύτερη εικονική μνήμη που υπήρχε σε εικονικά αντίγραφα του hardware, ενώ όλα τα διαχειριζόταν ο Επιμελητής Εικονικών Μηχανών (Virtual Machine Monitor VMM) ο οποίος έτρεχε σε πραγματικό hardware. Κάθε Virtual Machine είχε τη δυνατότητα να τρέχει μια ξεχωριστή εγκατάσταση του λειτουργικού συστήματος της ΙΒΜ σταθερά και με πολύ καλή απόδοση. Άλλα Time-sharing Projects. Οι CTSS και CP/CMS προσπάθειες της ΙΒΜ δεν ήταν οι μόνες, αν και ήταν αυτές με τη μεγαλύτερη επιρροή στην ιστορία της τεχνολογίας του virtualization. Καθώς το time-sharing γινόταν ευρέως αποδεκτό σαν ένα εφικτός τρόπος για να γίνουν τα πρώτα mainframe πιο προσιτά οικονομικά, κι άλλες εταιρίες μπήκαν στη φιλονικία για το time-sharing. Όπως και η ΙΒΜ έτσι κι αυτές οι εταιρίες χρειαζόντουσαν μεγάλα κεφάλαια για να χρηματοδοτήσουν την έρευνα καθώς και τις επενδύσεις σε hardware για να μπορέσουν να μπουν επιθετικά στο κυνήγι για τα time-sharing λειτουργικά συστήματα, που θα ήταν η πλατφόρμα για να τρέχουν τα δικά τους προγράμματα και υπολογισμούς. Κάποια άλλα projects που ήρθαν στη μόδα ήταν τα: Livermore Time-Sharing System (LTSS) : Αναπτύχθηκε από το εργαστήριο Lawrence Livermore στα τέλη της δεκαετίας του '60 σαν λειτουργικό σύστημα για τους υπερυπολογιστές Control Data CDC Οι CDC 7600 που έτρεχαν το LTSS πήραν τον τίτλο του πιο γρήγορου υπολογιστή στον κόσμο, από τον Atlas, ο οποίος υπέφερε από κάποια μορφή λυγισμού (trashing) εξαιτίας μη αποτελεσματικότητας στην υλοποίηση της εικονικής μνήμης. Cray Time-Sharing System (CTSS) (Διαφορετικό από το CTSS της ΙΒΜ): Αναπτύχθηκε για τους πρώτους υπερυπολογιστές Cray στις αρχές της δεκαετίας του '70. Οι μηχανικοί του project ήταν από το επιστημονικό εργαστήριο του Los Alamos σε συνεργασία με το εργαστήριο Lawrence Livermore, και προήλθε από την έρευνα που είχε ήδη γίνει στο Livermore με το επιτυχημένο LTSS λειτουργικό σύστημα. Οι υπολογιστές Cray X-MP που έτρεχαν το CTSS χρησιμοποιήθηκαν πολύ στο τμήμα ενέργειας των Ηνωμένων Πολιτειών 14

15 (United States Department of Energy ) για πυρηνική έρευνα. New Livermore Time-Sharing System (NLTSS) : Η τελευταία επανάληψη του CTSS. Αναπτύχθηκε για να ενσωματώσει τελευταίες προόδους και ιδέες στους υπολογιστές, όπως πρωτόκολλα επικοινωνίας σαν το TCP/IP και το LINCS. Ωστόσο δεν έγινε πλατιά αποδεκτό από τους χρήστες των συστημάτων Cray και γιαυτό δεν συνεχίστηκε η έρευνα μετά τα τέλη της δεκαετίας του '80. Έκρηξη της τεχνολογίας του Virtualization στις δεκαετίες 1990 και 2000 Ενώ έχουμε αναφερθεί στα περισσότερα πρώιμα Virtualization projects, δεν θα μπορέσουμε να κάνουμε το ίδιο και για τις τελευταίες προσπάθειες που έχουν γίνει και ξεκίνησαν την συγκεκριμένη περίοδο,εξαιτίας του πολύ μεγάλου αριθμού τους. Κάποια από αυτά έχουν αποτύχει, ενώ άλλα έχουν γίνει δημοφιλή και αποδέχθηκαν τεχνολογίες μέσα από την κοινότητα των τεχνικών. Επίσης ενώ έχουν επικεντρωθεί οι προσπάθειες γύρω από την τεχνολογία του Virtualization των servers, έγιναν επίσης βήματα στο Virtualization των data centers. Αυτό έγινε δυνατό εξαιτίας της απλοποίησής τους (όπως είχε προσδιοριστεί και παλιότερα σαν ένας από τους βασικούς στόχους) καθώς και μέσα από την κοινή χρήση υποδομών (infrastructure sharing) και την ενοποίηση τους. Πολλές εταιρίες (Sun, Microsoft, VΜware) παρουσίασαν επαγγελματικής χρήσης προϊόντα, που χαίρουν πλατιάς αποδοχής, βασιζόμενες στο ήδη υπάρχων πελατολόγιό τους. Επίσης η ανάπτυξη του Xen και του KVM, και η ενσωμάτωση τους σε πολλές εκδόσεις των Linux και η αποδοχή τους από την κοινότητα αυτή, τα οδήγησε στο να είναι επίσης σημαντικές στην συνέχιση της ανάπτυξης των Virtualization τεχνικών. Σύντομος Ορισμός για τον όρο Virtualization Με όλο το παρελθόν της τεχνολογίας του Virtualization και όλους τους εμπορικούς και μη διεκδικητές του τίτλου, θα μπορούσαμε να πούμε εν συντομία ότι Virtualization είναι: Είναι ένας σκελετός ή μια μεθοδολογία διαίρεσης των πόρων του hardware του υπολογιστή σε πολλαπλά περιβάλλοντα εκτέλεσης, εφαρμόζοντας μια η περισσότερες ιδέες - σχέδια ή τεχνολογίες όπως ο διαμερισμός hardware και software, time-sharing, μερική ή/και ολική εξομοίωση μηχανής, προσομοίωση, ποιότητα στην υπηρεσία και άλλες. 15

16 Όπως ακριβώς έγινε και στα με το VM/370 της ΙΒΜ, έτσι και η σύγχρονη Virtualization επιτρέπει σε πολλαπλά virtual machines με τα αντίστοιχα λειτουργικά συστήματα να τρέχουν ταυτόχρονα σε έναν υπολογιστή, μολονότι σήμερα είναι πολύ πιο φθηνοί οι υπολογιστές από ότι εκείνες τις μέρες. Κάθε λειτουργικό σύστημα μοιράζεται τους διαθέσιμους πόρους στο κοινό φυσικό hardware, όπως φαίνεται στην πιο κάτω εικόνα. Το πρόγραμμα που αναφέρεται ως VMM - Hypervisor έχει τον πλήρη έλεγχο για την πρόσβαση και τη χρήση της CPU, της μνήμης, του αποθηκευτικού χώρου και των δικτυακών υποδομών που υπάρχουν. Εικόνα 1: Γενική ιδέα της Virtualization 1.4: Τύποι Virtualization Υπάρχουν πολλοί τύποι Virtualization στην σύγχρονη πληροφορική. Ο πιο κοινός τύπος Virtualization είναι γνωστός σαν server Virtualization, που είναι και αυτό που εννοείται γενικά με τη χρηση του όρου Virtualization. Ωστόσο, πέρα από τις τεχνικές server Virtualization, οι ΙΤ οργανισμοί χρησιμοποιούν και άλλους τύπους Virtualization, βασισμένες σε όλες τις υπόλοιπες ανάγκες που υπάρχουν. Πολλοί θεωρούν την Virtualization σαν τον διαμερισμό απλά των υπολογιστικών πόρων, ενώ στην πραγματικότητα Virtualization μπορεί να σημαίνει και ακριβώς το αντίθετο, δηλαδή την συνένωση πολλών οντοτήτων σε μια εικονική ενιαία, οδηγώντας έτσι στο κρύψιμο ή στη μεταμφίεση των πραγματικών υποδομών που υπάρχουν στην πραγματικότητα. Πολλοί κατασκευαστές και πωλητές λογισμικού έχουν οικειοποιηθεί την δεύτερη οπτική. Από τα πιο γνωστά προϊόντα λογισμικού είναι αυτά για το Virtualization αποθηκευτικού χώρου, δικτύων και εφαρμογών : Storage Virtualization Υπάρχουν από καιρό υψηλής απόδοσης προγράμματα τα οποία αποτελούν αποθηκευτικές λύσεις. Στην πιο βασική τους μορφή, η τεχνική storage Virtualization υπάρχει σαν την απλή 16

17 διασύνδεση μεταξύ πολλών δίσκων (hard disk drives) σε μια ενιαία οντότητα που μπορεί να παρουσιαστεί στον server που την φιλοξενεί (host) και στο λειτουργικό σύστημα, όπως με την υλοποίηση RAID. Αυτό μπορεί να θεωρηθεί Virtualization επειδή όλοι οι δίσκοι χρησιμοποιούνται και αλληλεπιδρούν σαν μια και μόνη λογική συσκευή, παρότι αποτελείται από δύο ίσως και περισσότερους δίσκους. Η πραγματική συνισταμένη αποθήκευσης και οι συνιστώσες τις μεταμφιέστηκαν ακόμη καλύτερα με την εισαγωγή της τεχνολογίας storage area network (SAN). Χωρίς κάποια αλλαγή στον κώδικα του λειτουργικού συστήματος για την διαχείριση υποσυστημάτων αποθήκευσης, οι οργανισμοί ΙΤ μπορούν πλέον να μοιράζουν τον αποθηκευτικό τους χώρο σε μεταξύ πολλών servers, ακόμα και αν ο κάθε ένας από αυτούς τους servers θεωρεί ότι έχει τον δικό του αποθηκευτικό χώρο, οι διαχειριστές του συστήματος ουσιαστικά κατάφεραν να πάρουν μια εικονική ποσότητα χώρου στο δίσκο και να την παρουσιάζουν στον host σαν ελεύθερη προς χρήση. Πιο ανεπτυγμένες τεχνολογίες που ανεβάζουν την storage Virtualization στο επόμενο επίπεδο έχουν αρχίσει ήδη να παίρνουν την εμπορική τους εφαρμογή. Σήμερα είναι δυνατή η live migration από μια πλατφόρμα αποθήκευσης σε μια άλλη στο παρασκήνιο βασισμένη σε ορισμένους κανόνες και πολιτικές (όπως πολιτικές κατακράτησης, γήρανση δεδομένων) : Network Virtualization Παρόμοια με τους κατασκευαστές αποθηκευτικών συσκευών, και οι κατασκευαστές δικτυακού hardware έχουν εισάγει καινοτομίες στον τομέα της τεχνολογίας του Virtualization δικτύων για μεγάλο χρονικό διάστημα ήδη, αν και δεν ήταν πάντα αναγνωρίσιμο σαν κομμάτι της τεχνολογίας του Virtualization. Οι πιο γνωστές μορφές δικτυακού Virtualization είναι: Virtual LAN (VLAN): Τα VLANs είναι μια μέθοδος για την δημιουργία ανεξάρτητων εικονικών δικτύων στα πλαίσια ενός διαμοιρασμένου φυσικού δικτύου και έχουν πιστοποιηθεί από το στάνταρ ΙΕΕΕ 802.1Q. Οι διαχειριστές του δικτύου ενσωματώνουν VLANs στα πλαίσια του φυσικού τους δικτύου για να δημιουργήσουν λογικά τμήματα αναμετάδοσης και ελέγχου και να ελέγξουν την αλληλεπίδραση μεταξύ των συσκευών και των διαφορετικών τμημάτων του δικτύου. Η τεχνολογία των VLAN έχει εξελιχθεί και είναι κοινό χαρακτηριστικό ενσωματωμένο σε ολοκληρωμένα κυκλώματα συγκεκριμένων εφαρμογών (application-specific integrated circuits ASICs) από σχεδόν όλα τα σύγχρονα Ethernet switches. Αν και πολλές συσκευές μπορούν να συνδεθούν στο ίδιο switch του 17

18 δικτύου, τα VLANs επιτρέπουν στους διαχειριστές του δικτύου να δημιουργήσουν πολλαπλά εικονικά δίκτυα τα οποία απομονώνουν το κάθε κομμάτι από τα υπόλοιπα. Κάθε ένα από τα κομμάτια αυτά χρησιμοποιεί ένα μέρος από τους διαθέσιμους πόρους (κεντρική μονάδα επεξεργασίας, μνήμη, εύρος ζώνης δικτύου κ.α.) στο switch του host. Virtual IP (VIP): Είναι μια διεύθυνση ΙΡ η οποία δεν είναι συνδεδεμένη σε έναν συγκεκριμένο υπολογιστή η διεπαφή δικτύου ενός υπολογιστή. Οι VIPs συνήθως δίνονται σε μια συσκευή δικτύου που είναι στο ενδιάμεσο της πορείας που διασχίζει η κίνηση του δικτύου. Τα εισερχόμενα πακέτα στέλνονται στην VIP αλλά επανακατευθύνονται στην πραγματική διεπαφή του προορισμού λήψης. Οι VIP διευθύνσεις χρησιμοποιούνται κυρίως σε περιπτώσεις πλεονασμού και εξισορρόπησης φορτίου, όπου πολλά συστήματα φιλοξενούν μια κοινή εφαρμογή και δύνανται να λαμβάνουν την κίνηση όπως αυτή ανακατευθύνεται από την συσκευή δικτύου. Virtual Private Network (VPN): Είναι ένα ιδιωτικό δίκτυο επικοινωνίας που χρησιμοποιείται για εμπιστευτική επικοινωνία μέσω ενός δημόσιου δικτύου. Η κίνηση του VPN μεταφέρεται συνήθως μέσω εξαιρετικά ανασφαλών δικτυακών μέσων, όπως το Internet, δημιουργώντας ένα ασφαλές κανάλι για ευαίσθητες και εμπιστευτικές πληροφορίες μέσω του οποίου αυτές μπορεί να μετακινηθούν ασφαλώς από μια τοποθεσία σε μια άλλη. Χρησιμοποιείται επίσης για την επέκταση των οικιακών δικτύων απομακρυσμένων εργαζομένων σε (ή την ένωση τους με) εταιρικά δίκτυα. Μολονότι χρειάζεται συνήθως εξειδικευμένο λογισμικό για να εγκαθιδρύσει αυτού του τύπου την επικοινωνία, όταν αυτή έχει στηθεί η επικοινωνία και αλληλεπίδραση μεταξύ πόρων στο δίκτυο γίνεται με τον ίδιο ακριβώς τρόπο σαν να ανήκαν σε φυσικό δίκτυο, χωρίς να απαιτείται καμία τροποποίηση της στοίβας δικτύου ή του λειτουργικού συστήματος : Virtualization εφαρμογών. Virtualization εφαρμογών, ή Virtualization λογισμικού είναι η νεότερη μορφή από την συνεχώς αναπτυσσόμενη οικογένεια των τεχνικών Virtualization. Είναι μια νέα προσέγγιση της διαχείρισης λογισμικού. Σπάζοντας τη σύνδεση μεταξύ εφαρμογών, του λειτουργικού συστήματος, και του hardware που το φιλοξενεί, το Virtualization εφαρμογών χρησιμοποιεί εικονικά πακέτα λογισμικού για να τοποθετήσει εφαρμογές, και δεδομένα αντί για συμβατικές διαδικασίες εγκατάστασης. Τα πακέτα εφαρμογών μπορούν να ενεργοποιηθούν ή και να απενεργοποιηθούν άμεσα, να επανέλθουν στην αρχική τους παραμετροποίηση, επομένως και να μετριαστεί κατά πολύ ο κίνδυνος της ανάμιξής τους με άλλες εφαρμογές ενώ τρέχουν στον δικό τους υπολογιστικό χώρο. 18

19 Μερικά από τα οφέλη του Virtualization εφαρμογών είναι: Εξαλείφει τις ασυμφωνίες εφαρμογών: Εγγυάται στις εφαρμογές να χρησιμοποιήσουν τις σωστές εκδόσεις αρχείων και ιδιοκτησίες, τις σωστές ρυθμίσεις αρχείων/καταχωρήσεων χωρίς να γίνεται καμία μεταβολή στο λειτουργικό σύστημα και χωρίς να μπερδεύονται στη λειτουργία άλλων εφαρμογών. Μειώνει το roll-out εξαιτίας άμεσης τροφοδότησης: Οι διαχειριστές μπορούν να δημιουργήσουν εφαρμογές που μπορούν να χρησιμοποιηθούν γρήγορα, τοπικά ή και μέσω δικτύου, ακόμα και δια μέσου αργών συνδέσεων. Οι εφαρμογές εικονικού λογισμικού μπορούν να τρέχουν on-demand σαν εφαρμογές ροής (steaming) χωρίς να χρειαστεί να γίνει κάπου διαδικασία set-up η εγκατάστασης. Χρήση-τρέξιμο διαφορετικών εκδόσεων της ίδιας εφαρμογής: Πολλές εκδόσεις μπορούν να τρέξουν στο ίδιο λειτουργικό σύστημα χωρίς ασυμβατότητες η συγκρούσεις, βελτιώνοντας την μετάβαση σε νεότερες εκδόσεις εφαρμογών και επιταχύνοντας τον έλεγχο αλλά και την ολοκλήρωση νέων στοιχείων στο περιβάλλον : Server Virtualization Η Server Virtualization είναι η κυρίαρχη μορφή Virtualization σήμερα. Υλοποιήσεις server Virtualization υπάρχουν για όλες τις αρχιτεκτονικές Κεντρικής μονάδας επεξεργασίας (CPU), με τις πιο διαδεδομένες να είναι η x86 ή ΙΑ-32. Οι προκλήσεις που είχαν υποβληθεί από αυτή την αρχιτεκτονική και την ISA (instruction set architecture) που ορίζει, μαζί με τις απαιτήσεις των Popek και Goldberg, οδήγησαν σε μερικές απαιτήσεις για τις προσεγγίσεις στην ανάπτυξη των VMM. Ενώ υπάρχουν πολλές διαφορετικές υλοποιήσεις μπορούν όλες να συνοψιστούν σε 4 βασικές κατηγορίες. Συνοπτικά παρουσιάζονται μαζί με τα υπέρ και κατά της κάθε μιας. Full Virtualization [3] Είναι μια τεχνική Virtualization που προσφέρει εξομοίωση εξολοκλήρου του υποκείμενου hardware. Το αποτέλεσμα είναι ένα σύστημα στο οποίο το λογισμικό δύναται να τρέξει απευθείας πάνω σε hardware, ενώ ανήκει στο Virtual Machine. Αυτός ο τύπος Virtualization έχει την ευρύτερη γκάμα υποστήριξης σε λειτουργικά συστήματα. Υπέρ: 19

20 Παρέχει πλήρη απομόνωση ανάμεσα σε κάθε Virtual Machine καθώς και στον VMM. Τα περισσότερα λειτουργικά συστήματα μπορούν να εγκατασταθούν χωρίς καμία περαιτέρω τροποποίηση. Παρέχει σχεδόν φυσικές επιδόσεις στην ΚΜΕ και στην μνήμη. Χρησιμοποιεί εξελιγμένες μεθόδους για να παγιδεύσει και να προσομοιώσει (trap-andemulate ) εντολές κατά τη διάρκεια λειτουργίας μέσω binary patching. Κατά: Απαιτεί συγκεκριμένο συνδυασμό από hardware και συγκεκριμένα στοιχεία λογισμικού. Αδύνατη τεχνική για την x86 αρχιτεκτονική εξαιτίας κάποιων κλήσεων συστήματος με συγκεκριμένα δικαιώματα, οι οποίες δεν μπορούν να παγιδευτούν. Η απόδοση μπορεί να επηρεαστεί από την τεχνική παγίδευση-εξομοίωση της x86 αρχιτεκτονικής σε εξουσιοδοτημένες εντολές. Paravirtualization Είναι μια τεχνική Virtualization που προσφέρει μια μερική εξομοίωση του υποκείμενου hardware. Τα περισσότερα, αλλά όχι όλα, συστατικά του hardware εξομοιώνονται. Το Σημείο κλειδί είναι η address space virtualization, η οποία δίνει σε κάθε Virtual Machine το δικό της μοναδικό χώρο διευθύνσεων. Υπέρ: Ευκολότερη να υλοποιηθεί από το Full Virtualization. Όταν δεν υπάρχει υποστήριξη από το harware διαθέσιμη, οι paravirtualized guests (Virtual Machines) τείνουν να είναι οι πιο γρήγορες σε απόδοση Virtual Machines για το δίκτυο και τις Ι/Ο εντολές δίσκου. Κατά: Τα λειτουργικά συστήματα που τρέχουν σε paravirtualized guests δεν μπορούν να τρέξουν χωρίς αρκετά σημαντικές τροποποιήσεις. Οι εικονικές μηχανές μπορεί να υπόκεινται σε υποστηρικτικές συμβατότητες (backward compatibilities) και δεν είναι ιδιαίτερα ευέλικτες (portable). Operating System Virtualization Η συγκεκριμένη ιδέα στηρίζεται σε ένα και μόνο στιγμιότυπο του λειτουργικού συστήματος Υπέρ: Τείνει να είναι ένα λειτουργικό σύστημα χωρίς πολλά περιττά και αρκετά αποδοτικό. 20

21 Υπάρχει μόνο ένα λειτουργικό σύστημα εγκατεστημένο για διαχείριση και ενημερώσεις. Τρέχει σε πραγματικές τοπικές ταχύτητες (native speeds) Υποστηρίζει όλα τα τοπικά hardware και χαρακτηριστικά του λειτουργικού συστήματος για τα οποία ο host είναι παραμετροποιημένος. Κατά Δεν μπορεί να υποστηρίξει τη φιλοξενία ανάμεικτων οικογενειών λειτουργικών συστημάτων (π.χ. Windows, Linux) Οι εικονικές μηχανές δεν είναι τόσο απομονωμένες ή ασφαλείς όπως με τους υπόλοιπους τύπους Virtualization. Ο πυρήνας του είναι ένα ολόκληρο λειτουργικό σύστημα αντί για ένα απογυμνωμένο kernel που αποτελεί το VMM στις άλλες περιπτώσεις και γιαυτό έχει επιπρόσθετα κόστη σε πόρους και πολυπλοκότητα. Είναι δύσκολο να αναγνωριστούν οι πηγές των πόρων σε απαιτητικά φορτία. Είναι δύσκολο επίσης να περιοριστεί η χρήση των πόρων ανά guest. Native Virtualization. Αυτή είναι η νεότερη από τις τεχνικές Virtualization για την x86 αρχιτεκτονική. Συχνά αναφέρεται σαν Hybrid Virtualization. Αυτός είναι ένας συνδυασμός από Full Virtualization και Paravirtualization μαζί με κάποιες τεχνικές επιτάχυνσης Ι/Ο διεργασιών. Παρόμοια με το Full Virtualization τα φιλοξενούμενα λειτουργικά συστήματα μπορούν να εγκατασταθούν χωρίς τροποποιήσεις. Αυτή η τεχνική επωφελείται από τς τελευταίες τεχνολογίες CPU για x86 όπως η Intel-VT και η AMD-V. Υπέρ: Χειρίζεται non- virtualizable οδηγίες χρησιμοποιώντας trap-and-emulate στο hardware αντί για το software. Απασχολεί επιλεκτικά τεχνικές επιτάχυνσης για την μνήμη και Ι/Ο διεργασίες. Υποστηρίζει στοχευμένα για x64 (64-bit x86 extensions) λειτουργικά συστήματα. Έχει την καλύτερη απόδοση CPU, μνήμη και Ι/Ο από όλους τους τύπους x86 εικονικών μηχανών Κατά Απαιτεί αρχιτεκτονική CPU που μπορεί να υποστηρίξει hardware-assisted επιταχύνσεις για Virtualization. Χρειάζεται κάποιες τροποποιήσεις στο λειτουργικό σύστημα για τους Paravirtualized guests, λιγότερες όμως από την αυτοτελή paravirtualization. 21

22 Ρόλος της αρχιτεκτονικής CPU (πως η Hardware-Assistence βελτιώνει την Virtualization) Για τη μεγιστοποίηση της απόδοσης των x86-βασισμένων φυσικών πλατφορμών καθώς και των φιλοξενούμενων εικονικών μηχανών, πρέπει να επιλέγονται επεξεργαστές που μπορούν να υποστηρίξουν hardware-assisted Virtualization. Και η Intel προσφέροντας την Intel Virtualization Technology (Intel-VT) καθώς και η AMD προσφέροντας την Pacifica (AMD-V), προσφέρουν τέτοιες τεχνολογίες στην τελευταία γενιά από επεξεργαστές διαθέσιμους για servers, desktops αλλά και notebooks. Οι hardware-assisting επεξεργαστές εξουσιοδοτούν το guest λειτουργικό σύστημα να έχει απευθείας πρόσβαση σε πόρους της πλατφόρμας χωρίς να μοιράζεται τον έλεγχο του hardware. Πιο πριν θα έπρεπε VMM να εξομοιώνει το hardware για το guest OS αλλά και ταυτόχρονα να διατηρεί τον έλεγχο της φυσικής πλατφόρμας. Αυτοί οι επεξεργαστές δίνουν την δυνατότητα και στο VMM αλλά και στο guest που χρειάζονται για να τρέξουν χωρίς προσομοίωση hardware ή τροποποίηση στο λειτουργικό σύστημα. Βοηθούν επίσης και τους προγραμματιστές VMM να σχεδιάσουν απλοποιημένους VMM. Καθώς οι hardware-assisting επεξεργαστές μπορούν να χειριστούν τους απαιτητικούς υπολογισμούς που χρειάζονται για να δοθεί στον guest έλεγχος της φυσικής πλατφόρμας, το υπολογιστικό κόστος μειώνεται για τον ίδιο το VMM. Επίσης σημαντικές πληροφορίες κατάστασης για τον επεξεργαστή αλλά και guest OS μπορούν να αποθηκευτούν τώρα σε μία προστατευμένη μνήμη που μόνο ο VMM έχει πρόσβαση, προστατεύοντας την ακεραιότητα της όλης διαδικασίας. Τέλος, οι hardware-assisted επεξεργαστές, που όλοι υποστηρίζουν 64-bit επεξεργασία, απολαμβάνουν τα πλεονεκτήματα της 64-bit επεξεργασίας για να φιλτράρουν-απομονώσουν το guest OS και τις εφαρμογές του. Αυτό προσφέρει Virtual machines με μεγαλύτερες δυνατότητες και επεκτασιμότητα. 1.5: Η σχέση του Λειτουργικού Συστήματος με την αρχιτεκτονική του επεξεργαστή. Οι ιδανικές αρχιτεκτονικές hardware είναι αυτές στις οποίες το λειτουργικό σύστημα είναι σχεδιασμένο και χτισμένο για οποιαδήποτε άλλη, και είναι στενά δεμένα μεταξύ τους. Σωστή χρήση πολύπλοκων συστημάτων απαιτεί συντονισμό και συνεργασία μεταξύ OS και CPU. Αυτή η συμβιωτική σχέση ανάμεσα στα δύο προσφέρει πολλά πλεονεκτήματα στην ασφάλεια και στην σταθερότητα. Ένα τέτοιο παράδειγμα ήταν το time-sharing σύστημα MULTICS, το οποίο σχεδιάστηκε για μια ειδική αρχιτεκτονική επεξεργαστή, και με τη σειρά του το λειτουργικό 22

23 σχεδιάστηκε για την αρχιτεκτονική αυτή. Αυτό που έκανε το MULTICS τόσο ιδιαίτερο στις μέρες του ήταν η προσέγγιση να διαχωρίζει τις διεργασίες λογισμικού για να εξαλείψει τον κίνδυνο ή την περίπτωση συμβιβασμού ή αστάθειας σε ένα αποτυχημένο συστατικό η οποία θα μπορούσε να επηρεάσει και άλλα συστατικά. Τοποθετήθηκαν τυπικοί μηχανισμοί, ονομαζόμενοι προστατευτικοί δακτύλιοι, για να προστατέψουν και να διαχωρίσουν τις ασφαλείς διεργασίες του λειτουργικού συστήματος από τις μη-έμπιστες εφαρμογές χρήστη. To MULTICS περιείχε 8 από αυτούς τους προστατευτικούς δακτυλίους, ένα ιδιαίτερα περίτεχνο σχέδιο, επιτρέποντας διαφορετικά επίπεδα απομόνωσης και αφαιρετικότητας (abstraction) από τον πυρήνα της απεριόριστης αλληλεπίδρασης με το hardware. Η πλατφόρμα hardware σχεδιάστηκε ακριβώς μετά και ειδικά για το λειτουργικό σύστημα MUTICS και ενσωμάτωνε hardware hooks που βελτίωναν τον διαχωρισμό ακόμη καλύτερα. Δυστυχώς η σχεδιαστική προσέγγιση αποδείχτηκε δαπανηρή για ευρεία ιδιωτική απόκτηση. Ο πιο κοινός τύπος αρχιτεκτονικής που χρησιμοποιείται σήμερα είναι ο x86. Ξεκινώντας από το chipset, η x86 οικογένεια επεξεργαστών παρείχε δυο τρόπους διευθυνσιοδότησης στη μνήμη: πραγματική και προστατευόμενη. Από το chipset και αργότερα, ένας τρίτος τρόπος προστέθηκε και ονομάστηκε virtual 8086, ή VM86, και επέτρεπε την εκτέλεση προγραμμάτων γραμμένων για τον πραγματικό τρόπο αλλά παρέκαμπταν τους κανόνες του πραγματικού τρόπου χωρίς να χρειάζεται να τους υψώσουν στον προστατευόμενο τρόπο. Ο πραγματικός τρόπος κλειδώθηκε σε μια 16-bit λειτουργία, και εγκαταλείφθηκε σαν απαρχαιωμένος όταν τα 32-bit λειτουργικά συστήματα διαδόθηκαν πλατιά για την x86 αρχιτεκτονική. Ο προστατευόμενος τρόπος προσέφερε πάρα πολλά νέα χαρακτηριστικά τα οποία θα υποστήριζαν multitasking. Αυτά περιλάμβαναν την τμηματοποίηση διεργασιών, έτσι ώστε να μην μπορούν να γράψουν έξω από τον δικό τους χώρο διευθύνσεων, την hardware υποστήριξη για εικονική μνήμη καθώς και την εναλλαγή διεργασίας. Στην x86 οικογένεια, ο προστατευόμενος τρόπος διαθέτει 4 επίπεδα εξουσιοδότησης ή δακτυλίους, αριθμημένα από το 0 ως το 3. Η μνήμη συστήματος διαιρείται σε τμήματα και κάθε ένα από αυτά αφιερώνεται σε κάθε δακτύλιο. Ο επεξεργαστής χρησιμοποιεί τα εξουσιοδοτημένα επίπεδα για να αποφασίσει τι μπορεί και τι όχι να γίνει με τον κώδικα ή τα δεδομένα σε κάθε ένα από τα τμήματα. Ο όρος δακτύλιος προέρχεται από το σύστημα MULTICS, όπου τα εξουσιοδοτημένα επίπεδα ήταν οπτικά σχηματισμένα σαν ομόκεντροι δακτύλιοι. Ο δακτύλιος-0 ήταν ο πιο εσωτερικός, με πλήρη έλεγχο του επεξεργαστή. Ο δακτύλιος-3 ήταν ο εξώτερος δακτύλιος και του παρεχόταν μόνο περιορισμένη πρόσβαση, όπως δείχνει το σχήμα. 23

24 Εικόνα 2: Παρουσίαση των δακτυλίων Η ίδια αντίληψη για τους προστατευτικούς δακτυλίους υπάρχει και στην αρχιτεκτονική σύγχρονων λειτουργικών συστημάτων. Τα Windows, Linux και οι περισσότερες εκδοχές των Unix, χρησιμοποιούν αυτούς τους δακτυλίους, αν και έχουν μειώσει την δομή τεσσάρων δακτυλίων σε δομή δυο στρωμάτων, που χρησιμοποιεί μόνο τους δακτυλίους 0 και 3. Ο εσωτερικός δακτύλιος-0 συχνά αποκαλείται Supervisor Mode ενώ ο δακτύλιος-3 είναι γνωστός σαν User Mode. Οι μηχανισμοί ασφάλειας στο hardware επιβάλλουν περιορισμούς στον δακτύλιο-3 περιορίζοντας την πρόσβαση σε κάποια τμήματα κώδικα, σελιδοποίηση μνήμης και διαδικασίες Ι/Ο. Αν κάποια εφαρμογή χρήστη η οποία τρέχει στο δακτύλιο-3 προσπαθήσει να χρησιμοποιήσει η να απευθυνθεί σε κάποιο κομμάτι μνήμης εκτός του τμήματος της, μια διακοπή που οφείλεται στο hardware, θα διακόψει την εκτέλεση του κώδικα. Κάποιες οδηγίες σε γλώσσα assembly δεν μπορούν καν να εκτελεστούν έξω από το δακτύλιο-0 εξαιτίας της low-level φύσης τους. 1.6: Ο ρόλος του επιμελητή εικονικών μηχανών (Virtual Machine Monitor VMM - Hypervisor) H Supervisor Mode είναι η κατάσταση εκτέλεσης στον x86 επεξεργαστή, που κάνει δυνατή την εκτέλεση όλων των εντολών, περιλαμβάνοντας και εντολές με συγκεκριμένα προνόμια όπως οι εντολές Ι/Ο και διαχείρισης μνήμης. Στην Supervisor Mode (δακτύλιος 0 ) είναι εκεί που κανονικά θα έτρεχε το λειτουργικό σύστημα. Καθώς ο δακτύλιος-3 είναι βασισμένος στον δακτύλιο-0 κάθε συμβιβασμός ή αστάθεια επιδρά απευθείας στην User Mode που τρέχει στο δακτύλιο-3. Για να απομονωθεί ο δακτύλιος-0 για κάθε εικονικό guest, γίνεται αναγκαίο να μεταφερθεί ο δακτύλιος-0 πιο κοντά στους guests. Ακολουθώντας αυτό το σκεπτικό, μια αποτυχία 24

25 στον δακτύλιο-0 ενός guest δεν επηρεάζει τον δακτύλιο-0 του host άρα και το δακτύλιο-3 των υπόλοιπων guests. Ο δακτύλιος-0 όπως είναι αντιληπτός από τους guests μπορεί να βρίσκεται σε οποιονδήποτε από τους δακτυλίους -1, -2 και -3 του host στις x86 αρχιτεκτονικές. Βέβαια όσο πιο μακριά βρίσκεται από τον δακτύλιο-0 του host τόσο λιγότερες και τόσο πιο μακριά βρίσκεται από το να εκτελέσει απ' ευθείας διεργασίες στο hardware, και οδηγεί σε μειωμένη απόδοση και αξιοπιστία. Η Virtualization μετακινεί τον δακτύλιο-0 πιο ψηλά σε έναν από τους δακτυλίους τοποθετώντας τον VMM Hypervisor σε έναν από αυτούς τους δακτυλίους, που με τη σειρά του παρουσιάζει την υλοποίηση του δακτυλίου-0 στις φιλοξενούμενες Virtual Machines. Σε αυτό τον παρουσιαζόμενο δακτύλιο είναι που τρέχει το φιλοξενούμενο λειτουργικό σύστημα, ενώ ο VMM χειρίζεται την πραγματική αλληλεπίδραση με την υποκείμενη πλατφόρμα hardware της CPU, μνήμης και την πρόσβαση σε πόρους Ι/Ο. Υπάρχουν δύο τύποι VMM Hypervisor που απευθύνουν την υλοποίηση του δακτυλίου-0 με διαφορετικό τρόπο: Hypervisor τύπου 1: Το λογισμικό εκτελείται απ' ευθείας στο δεδομένο hardware στον πραγματικό δακτύλιο-0. Τα φιλοξενούμενα λειτουργικά τρέχουν σε ένα επίπεδο υψηλότερο από το πραγματικό hardware επιτρέποντας έτσι πραγματική απομόνωση κάθε εικονικής μηχανής. Hypervisor τύπου 2: Το λογισμικό τρέχει μέσα στο λειτουργικό σύστημα, συνήθως στον δακτύλιο-3. Από τη στιγμή που δεν υπάρχουν άλλοι πρόσθετοι δακτύλιοι στην x86 αρχιτεκτονική, ο παρουσιαζόμενος δακτύλιος-0 στις εικονικές μηχανές τρέχει στο πιο απομακρυσμένο σημείο από το hardware. Αν και προσφέρει κάποια πλεονεκτήματα αυτή η προσέγγιση, συνήθως υπόκειται σε περιορισμούς απόδοσης επειδή οι κλήσεις προς το hardware πρέπει να μετακινηθούν ανάμεσα σε πολλά διαφορετικά επίπεδα μέχρι να υλοποιηθούν και να επιστρέψουν τελικά στο φιλοξενούμενο λειτουργικό. Για τη δημιουργία εικονικών μηχανών χρειάζεται ένα λεπτό στρώμα λογισμικού το οποίο είναι ο VMM Hypervisor. Ένας ή περισσότερα guest λειτουργικά συστήματα και οι στοίβες εφαρμογών τους μπορούν στη συνέχεια να τρέξουν πάνω από αυτό το στρώμα του VMM. Μια πιο συγκεκριμένη εικόνα για τα εικονικά περιβάλλοντα είναι η ακόλουθη. 25

26 Εικόνα 3: Θέση του Hypervisor/Virtual Machine Monitor Ο VMM είναι το κέντρο της τεχνολογίας του Virtualization των Διαχειρίζεται τους πόρους του hardware και εποπτεύει τα αιτήματα πολλαπλών φιλοξενούμενων λειτουργικών συστημάτων και των εφαρμογών τους. Παρουσιάζει ένα εικονικό σύνολο CPU, μνήμης, Ι/Ο και πόρους δίσκουςαποθήκευσης σε κάθε guest βασιζόμενο στο πραγματικό hardware καθώς και μια συνεπή επιλογή από custom hardware. 1.7: Οι απαιτήσεις Popek και Goldberg Οι απαιτήσεις Popek και Goldberg συνήθως αναφέρονται σαν την πηγή των κριτηρίων για τους VMM. Αυτές προσδιόρισαν τις συνθήκες για να μπορεί μια αρχιτεκτονική να υποστηρίξει Virtualization. Γράφτηκαν το 1974 για την τρίτη γενιά υπολογιστικών συστημάτων εκείνης της εποχής και γενίκευσαν τις συνθήκες που πρέπει να πληρεί το λογισμικό (VMM) το οποίο προσφέρει την Virtualization. Αυτές οι συνθήκες είναι: Ισοδυναμία-Ισορροπία: Ένα πρόγραμμα κάτω από τον VMM πρέπει να εξετάζει την προβλεπόμενη συμπεριφορά που είναι βασικά πανομοιότυπη με την παρουσιαζόμενη όταν αυτό τρέχει στο υποκείμενο hardware απ' ευθείας. Αυτό αναφέρεται συχνά σαν Fidelity (πιστότητα). Έλεγχος πόρων: Ο VMM πρέπει να έχει τον πλήρη έλεγχο των πόρων του πραγματικού hardware που εικονικοποιούνται για τα guest λειτουργικά συστήματα σε οποιαδήποτε στιγμή. Αναφέρεται συχνά σαν Safety (ασφάλεια). Αποτελεσματικότητα: Ένας πολύ μεγάλος αριθμός από εντολές μηχανής πρέπει να 26

27 εκτελεστούν χωρίς την μεσολάβηση του VMM, ή αλλιώς κατ' ευθείαν από το hardware. Αναφέρεται συχνά σαν Performance (απόδοση). Σύμφωνα με τους Popek και Goldberg το πρόβλημα που πρέπει να απαντήσουν όσοι αναπτύσσουν εφαρμογές VMM είναι ότι η εφαρμογή θα πρέπει να ικανοποιεί τα πιο πάνω αιτήματα όταν λειτουργεί στα χαρακτηριστικά του Instruction Set Architecture (ISA) από ένα συγκεκριμένο hardwawre. Οι ISA μπορούν να χωριστούν σε τρεις κατηγορίες εντολών: privilleged, control sensitive, behavior. Οι privilleged είναι οι εντολές που διακόπτονται όταν ο επεξεργαστής είναι σε User Mode και δεν διακόπτονται όταν είναι στην Supervisor Mode. Οι Control-Sensitive εντολές είναι αυτές που προσπαθούν να αλλάξουν την παραμετροποίηση από τους πραγματικούς πόρους του συστήματος. Οι Behavior εντολές είναι αυτές που η έκβαση τους εξαρτάται από την ήδη υπάρχουσα παραμετροποίηση των πόρων. Οι VMM πρέπει να μπορούν να δουλέψουν με όλες τις κατηγορίες εντολών ενώ ταυτόχρονα να διατηρούν τις συνθήκες ισοδυναμίας-ισορροπίας, ελέγχου πόρων και αποτελεσματικότητας. Σε εικονικό επίπεδο όλοι οι σύγχρονοι VMM ικανοποιούν τις δύο πρώτες. Αυτό επιτυγχάνεται μέσα από αποτελεσματική διαχείριση του φιλοξενούμενου λειτουργικού και της υποκείμενης πλατφόρμας hardware χρησιμοποιώντας emulation, isolation, allocation, και encapsulation (εξομοίωση, απομόνωση, κατανομή, ενθυλάκωση) όπως εξηγούνται στον πίνακα. Λειτουργία Περιγραφή Emulation Η εξομοίωση είναι σημαντική για όλα τα guest λειτουργικά συστήματα. Ο VMM πρέπει να παρουσιάσει ένα ολοκληρωμένο περιβάλλον hardware, στην εικονική μηχανή για κάθε στοίβα λογισμικού, άσχετα αν είναι λειτουργικό σύστημα ή εφαρμογή. Ιδανικά το λειτουργικό σύστημα βρίσκεται σε πλήρη άγνοια του ότι μοιράζεται τους πόρους του συστήματος με άλλες εφαρμογές. Η εξομοίωση είναι το κλειδί για να επιτευχθεί η Ισοδυναμία-Ισορροπία. Isolation Η απομόνωση (αν και όχι απαραίτητη) είναι σημαντική για ένα ασφαλές και αξιόπιστο περιβάλλον. Μέσα από αφαίρεση (abstraction) του hardware, κάθε εικονική μηχανή πρέπει να είναι επαρκώς χωρισμένη και ανεξάρτητη από τις λειτουργίες και τις δραστηριότητες των άλλων. Σφάλματα τα οποία συμβαίνουν σε ένα VM πρέπει να μην επηρεάζουν τα άλλα, και έτσι να προσφέρεται μεγάλη ασφάλεια και διαθεσιμότητα. Allocation Ο VMM πρέπει να κατανέμει μεθοδικά τους πόρους του συστήματος στις εικονικές μηχανές που διαχειρίζεται. Πόροι για την επεξεργασία, τη μνήμη, την 27

28 Ι/Ο δικτύου και την αποθήκευση πρέπει να εξισορροπούνται για να βελτιστοποιήσουν την απόδοση και να ευθυγραμμίσουν τα επίπεδα της παρεχόμενης υπηρεσίας με τα επίπεδα των επαγγελματικών απαιτήσεων. Μέσα από την κατανομή, ο VMM ικανοποιεί την συνθήκη του ελέγχου των πόρων και σε κάποιο βαθμό την συνθήκη της αποτελεσματικότητας. Encapsulation Αν και δεν αναφέρεται ρητά στις συνθήκες Popek και Goldberg η ενθυλάκωση δίνει τη δυνατότητα σε κάθε στοίβα λογισμικού (λειτουργικού και εφαρμογών) να είναι μεταφερτά, και να δύνανται να αντιγραφούν ή να μεταφερθούν από τη μία πλατφόρμα που τρέχει το VMM σε μια άλλη. Σε μερικές περιπτώσεις, αυτή η δυνατότητα μεταφοράς επιτρέπει και την ζωντανή μεταφορά VM που βρίσκονται σε running state. 1.8: Η πρόκληση: Hypervisors για την αρχιτεκτονική x86 (Hypervisors τύπου 1 και 2). Αναφερόμενοι ξανά στην αρχιτεκτονική x86, όλο το λογισμικό εκτελείται σε έναν από τους 4 δακτυλίους. Το λειτουργικό σύστημα παραδοσιακά τρέχει στον δακτύλιο-0, ο οποίος έχει την μεγαλύτερη δυνατή από άποψη δικαιωμάτων πρόσβαση σε επεξεργαστή και άλλους πόρους συστήματος. Μεμονωμένες εφαρμογές που εκτελούνται συνήθως στο δακτύλιο-3, στερούνται κάποιων λειτουργών (όπως η χαρτογράφηση μνήμης) πράγμα που μπορεί να έχει αντίκτυπο σε άλλες εφαρμογές. Με αυτό τον τρόπο το λειτουργικό σύστημα διατηρεί τον έλεγχο αποδίδοντας μια ομαλή λειτουργία. Επειδή ο VMM πρέπει να έχει προνόμια που να του επιτρέπουν τον έλεγχο από πόρους της πλατφόρμας, μια συχνή λύση είναι η υλοποίηση του και η εκτέλεση του στο δακτύλιο-0. Αυτό δημιουργεί συγκεκριμένες προκλήσεις. Συγκεκριμένα υπάρχουν 17 εντολές με δικαιώματα που ελέγχουν πόρους-κλειδιά για το σύστημα. Αυτές οι εντολές χρησιμοποιούνται πολύ συχνά από τα περισσότερα λειτουργικά συστήματα. Όταν το λειτουργικό εκτελείται στο δακτύλιο-0 οποιαδήποτε από αυτές τις εντολές μπορεί να κληθεί και να δημιουργήσει διαμάχη, κάνοντας το σύστημα είτε να πέσει σε σφάλμα είτε να αποκριθεί λάθος. Η πρόκληση που αντιμετωπίζουν οι VMM για την ΙΑ32 (x86) αρχιτεκτονική είναι να διατηρήσουν τις απαιτήσεις Popek και Goldberg ενώ θα δουλεύουν στο ΙΑ-32 ISA. [4] 28

29 Hypervisor τύπου 1 (Hardware Virtualization Software) Το λογισμικό Virtualization που παρουσιάζει ένα σύνολο εικονικού hardware στο guest λειτουργικό σύστημα κάνει δυνατή την πλειονότητα των διαθέσιμων προϊόντων server virtualization λογισμικού. Αυτά τα προϊόντα παρέχουν ένα VMM που είτε μερικά είτε εξ ολοκλήρου εικονικοποιεί το υποκείμενο hardware, επιτρέποντας στους guest να τρέχουν σε ένα ασφαλές και απομονωμένο περιβάλλον. Τα πιο δημοφιλή από αυτά τα προϊόντα (κλειστού-εμπορικού λογισμικού) είναι το VMware, της Microsoft και το Xen (το οποίο διαθέτει και open-source). Από αυτά το VMware και το Xen είναι τα πιο ώριμα στον χώρο και προσφέρουν μια αρκετά μεγάλη γκάμα ιδιοτήτων, όπως live-migration, απευθείας εγκατάσταση στο hardware και εκτέλεση του hypervisor, καθώς και την μεγαλύτερη ποικιλία από λειτουργικά που μπορούν να φιλοξενήσουν. Hypervisor τύπου 2 (Operating System-Level Virtualization Software) Λογισμικό Virtualization στο επίπεδο του λειτουργικού συστήματος είτε περιλαμβάνονται σαν κομμάτι του λειτουργικού, όπως το Solaris, είτε εγκαθίστανται πάνω από το λειτουργικό όπως το Virtuozzo, το OpenVZ και το KVM. Αυτά τα προϊόντα παρέχουν ένα περιβάλλον λειτουργικού συστήματος που είναι ολοκληρωτικά ή μερικά απομονωμένα από το host λειτουργικό σύστημα, επιτρέποντας ασφαλή εφαρμογή και εκτέλεση στην τοπική ταχύτητα συστήματος. Από κάποιες σκοπιές βέβαια το λογισμικό Virtualization στο επίπεδο του λειτουργικού συστήματος παρέχει μερικά πλεονεκτήματα. Πρώτα από όλα μπορούν να τρέξουν το ίδιο λειτουργικό σύστημα με τον host χωρίς να χρειαστεί να έχουν διπλό αντίτυπο από κάθε επίπεδο του λειτουργικού ή κάθε υποσύστημα. Αυτό είναι δυνατό επειδή κάποιες από τις διεργασίες χαμηλού επιπέδου οι οποίες μοιράζονται με τον host, εκμηδενίζοντας έτσι την απαιτητική σε πόρους διπλή αναπαραγωγή και διατήρησή τους. Δεύτερον, είναι δυνατό να προσφέρουν μια patch-once προσέγγιση, το οποίο θα επιτρέψει το patch του host λειτουργικού το οποίο με τη σειρά του θα προσφέρει το ίδιο patch στα guest. Τέλος αυτά τα προϊόντα τείνουν να προσφέρουν την πιο πλατιά ποικιλία από υποστηριζόμενο hardware, επειδή πρακτικά οποιαδήποτε συσκευή μπορεί να χρησιμοποιηθεί από το host λειτουργικό, μπορεί να χρησιμοποιηθεί και από τα guest εικονικά περιβάλλοντα. 29

30 1.9: Συχνές περιπτώσεις χρήσης της τεχνολογίας του Virtualization. Έχοντας συζητήσει την ιδέα πίσω από τη Virtualization, την ιστορία της, τους τύπους της, απομένει να προβληθούν συγκεκριμένες περιπτώσεις χρήσης της. Όπως είναι προφανές δεν μπορεί κάθε σενάριο να υλοποιηθεί με τέτοιες τεχνικές. Μερικά φορτία εργασίας είναι τόσο συμπαγή που απαιτούν και εγγυώνται ταυτόχρονα ότι θα αποκτήσουν συγκεκριμένους και πολλούς πόρουςσυστήματος. Άλλα μάλιστα είναι τόσο μεγάλα που απαιτούν ολόκληρα data centers για να χειριστούν το φορτίο, όπως και σε περιπτώσεις high-performance clusters (HPCs). Ωστόσο οι περισσότεροι τύποι φόρτου εργασίας είναι πάρα πολύ καλοί υποψήφιοι για Virtualization, και στην πραγματικότητα εφαρμόζοντας την τεχνολογία, θα υπάρχουν εμφανή πλεονεκτήματα. Ακολουθούν μερικά παραδείγματα που η τεχνολογία του Virtualization μπορεί να παίξει καταλυτικό ρόλο : Ανανέωση της τεχνολογίας: Αν και το συγκεκριμένο ζήτημα είναι μια σύνθετη οικονομοτεχνική μελέτη υπάρχουν πολύ περιπτώσεις όπου το Virtualization μπορεί να παρουσιαστεί σωτήρια και οικονομική. Η αύξηση του ποσοστού χρήσης ενός ήδη υπάρχοντος server πριν την αναβάθμισή του είναι πολύ σημαντική εφόσον ένας νέος υποχρησιμοποιούμενος server είναι πολύ πιο ακριβώς από ότι ένα VM σε έναν ήδη υπάρχον. Η αναβάθμιση μπορεί να γίνει τμηματικά και σε συγκεκριμένα VM με ελάχιστο χρόνο εκτός λειτουργίας (down-time). Η εικονική πλατφόρμα είναι συνήθως πάρα πολύ απλή και μπορεί να είναι συμβατή ακόμα και με παρωχημένες γενικά εκδόσεις λειτουργικών ή εφαρμογών. Με μετατροπή physical-tovirtual (P2V) αλλάζει εντελώς το σχήμα αντιγράφων ασφαλείας και μπορούν να δημιουργούνται ακριβή στιγμιότυπα χωρίς να χρειάζεται καν η επανεγκατάσταση προγραμμάτων και η μεταφόρτωση δεδομένων και μάλιστα ακόμα και χωρίς down-time. Υπάρχει η δυνατότητα και για live migration εικονικών μηχανών που μπορεί να προσφέρει ένα δυνατότερο σε επιδόσεις μηχάνημα εάν παρουσιαστεί ανάγκη : Συνέχιση εργασίας και επαναφορά από αποτυχίες: Μειώνεται δραματικά το κόστος υποστήριξης από τη στιγμή που εξαλείφεται ουσιαστικά το κόστος για μηχανήματα με χρήση: σε περίπτωση που.... Επίσης ένα πάρα πολύ καλό παράδειγμα είναι αν έχουμε 50 servers που τρέχουν πολύ σημαντικές δουλειές, μπορούν να 30

31 δημιουργήσουν στιγμιότυπα τα οποία να τρέξουν σε πολύ λιγότερους των 50 υπολογιστών. Για παράδειγμα με 10 VM σε κάθε server θα μπορούσε όλη η σημαντική δουλειά κατά τη διάρκεια της επιδιόρθωσης να γίνεται από μόνο 5 servers και με ουσιαστικά μηδενικό down-time : Δημιουργία περιβάλλοντος για τη δοκιμή νέων ιδεών: Δημιουργία μερικών εικονικών μηχανών μπορεί να είναι το περιβάλλον που χρειάζεται για τη δοκιμή μιας νέας ιδέας. Είναι αξιόπιστες, παραμετροποιήσιμες, πραγματικά απομονωμένες από το φυσικό σύστημα, με πρακτικά μηδενικό κόστος για την έναρξη τους και η εύρεση των πόρων μπορεί να είναι μια ιδιαίτερα εύκολη διαδικασία. Ακόμα σε περίπτωση επιτυχίας των δοκιμών το ίδιο ακριβώς instance του VM θα μπορούσε να γίνει migrate σε έναν κανονικό server έτοιμο να εξυπηρετήσει πραγματικά : Virtual Desktops: Λόγω του μεγάλου αριθμού χρηστών που μπορεί να υπάρχουν με απεύθυνση στο βασικό μας σύστημα, πλειοψηφία των οποίων δεν θα είναι power-users γίνεται μεγάλη δαπάνη για υποχρησιμοποιούμενα desktops τα οποία έχουν και αυτά ολοένα και αυξανόμενες δυνατότητες. Σε αυτή την περίπτωση με μικρότερη επένδυση για χαμηλών επιδόσεων τερματικά οι χρήστες με μικρές ανάγκες υπολογιστικής ισχύος θα μπορούσαν να τρέχουν σε ένα VM στο data center : Δημιουργία περιβάλλοντος για την ανάπτυξη και την παραμετροποίηση εφαρμογών: Έχει παρατηρηθεί ότι οι προγραμματιστές εφαρμογών μπόρεσαν να αυξήσουν την ταχύτητα με την οποία ανέπτυσσαν τις εφαρμογές και κυρίως να συμπτύξουν τον χρόνο που χρειαζόταν για δοκιμές, και μάλιστα αυτές να γίνονται πιο αυτοματοποιημένα. Σε όλα τα στάδια της ανάπτυξης μιας εφαρμογής η τεχνολογία του Virtualization μπορεί να δώσει σημαντικά αποτελέσματα. 31

32 Κεφάλαιο Cloud Computing 2.1: Τι είναι το Cloud Computing; Με τον όρο Cloud Computing εννοούμε την πρόσβαση σε υπολογιστές και τη λειτουργικότητα τους δια μέσω του διαδικτύου ή ενός τοπικού δικτύου. Οι χρήστες του Cloud ζητούν την πρόσβαση από ένα σύνολο υπηρεσιών διαδικτύου, οι οποίες διαχειρίζονται τους διαθέσιμους υπολογιστικούς πόρους (μπορεί να είναι υπολογιστές, δίκτυο, αποθηκευτικός χώρος, λειτουργικά συστήματα, περιβάλλοντα ανάπτυξης εφαρμογών αλλά και εφαρμογές). Όταν αποδοθεί ένα τμήμα των πόρων σε κάποιο χρήστη αυτό είναι ατομικά αφιερωμένο σε αυτό το χρήστη μέχρι αυτός να απελευθερώσει τη χρήση του. Ονομάζεται Cloud Computing γιατί ο χρήστης δεν μπορεί στην πραγματικότητα να δει να προσδιορίσει και να καταλάβει το που βρίσκονται ακριβώς οι υποδομές που χρησιμοποιεί η τον εξοπλισμό που φιλοξενεί τις υπηρεσίες που έχει ζητήσει και του έχει δοθεί η άδει ανά χρησιμοποιήσει. Σχηματικά θα μπορούσαμε να πούμε ότι οι πόροι ανασύρονται από ένα Cloud (σύννεφο νέφος) πόρων όταν αποδοθούν σε ένα χρήστη και αυτές επιστρέφουν σε αυτό όταν απελευθερωθούν. Ένα Cloud είναι ένα σύνολο μηχανημάτων και διαδικτυακών υπηρεσιών που υλοποιούν το Cloud Computing. Το Cloud Computing παρέχει υπολογιστική ισχύ, λογισμικό, πρόσβαση σε δεδομένα, και υπηρεσίες αποθηκευτικού χώρου, χωρίς να απαιτείται από τον τελικό χρήστη η φυσική τοποθεσία και παραμετροποίηση του συστήματος που τους παρέχει αυτές τις υπηρεσίες. [5] Ορισμός του Cloud Computing σύμφωνα με το US NIST Το Cloud Computing είναι ένα μοντέλο που επιτρέπει την εύκολη, on-demand (τη στιγμή που ζητείται) πρόσβαση μέσω δικτύου σε ένα κοινό ταμείο από παραμετροποιήσιμους υπολογιστικούς πόρους (π.χ. Δίκτυα, servers, αποθηκευτικό χώρο, εφαρμογές και υπηρεσίες) οι οποίοι μπορούν πολύ εύκολα να παρακολουθηθούν και να αποδοθούν με πολύ μικρή παρέμβαση της διαχείρισης, ή αλληλεπίδρασης από τον πάροχο των υπηρεσιών. Αυτό το μοντέλο του Cloud προάγει τη διαθεσιμότητα και απαρτίζεται από πέντε βασικά χαρακτηριστικά, τρία μοντέλα 32

33 παροχής-παράδοσης της υπηρεσίας και τέσσερα μοντέλα υλοποίησης του.[6] Βασικά Λειτουργικά Χαρακτηριστικά Cloud Computing: On-demand self-service. Ο καταναλωτής μπορεί να ζητήσει μονομερώς τις υπολογιστικές δυνατότητες, όπως ο χρόνος που θα χρησιμοποιήσει στον server και το μέγεθος του αποθηκευτικού χώρου που θα χρησιμοποιήσει μέσω δικτύου αυτόματα χωρίς να απαιτείται καμία ανθρώπινη αλληλεπίδραση με τον πάροχο της εκάστοτε υπηρεσίας. Ubiquitous network access. ( από παντού δικτυακή πρόσβαση ) Οι Δυνατότητες αυτές είναι προσπελάσιμες από παντού δια μέσω δικτύου και διαδεδομένων στάνταρντ και μηχανισμών πράγμα που επιτρέπει την χρήση κι πρόσβαση τους από πολλές και ετερόκλητες πλατφόρμες χρήστη (π.χ. Κινητά τηλέφωνα, φορητούς υπολογιστές, PDA). Location independent resource pooling. Οι υπολογιστικοί πόροι του παρόχου συγκεντρώνονται σε ένα κοινό σύνολο χρησιμοποιώντας ένα μοντέλο πολλών ενοικιαστών, με διαφορετικές φυσικούς και εικονικούς πόρους οι οποίοι αποδίδονται πολλές φορές δυναμικά μετά από την απαίτηση του χρήστη. Ο καταναλωτής γενικά δεν έχει κανένα έλεγχο και γνώση για την ακριβή τοποθέτηση του παρεχόμενου πόρου, αλλά μπορεί να δύναται να προσδιορίσει σε ένα πιο αφηρημένο επίπεδο την τοποθεσία όπως η χώρα η πόλη ή το συγκεκριμένο data-center. Παραδείγματα τέτοιων πόρων είναι αποθηκευτικός χώρος, επεξεργασία, μνήμη, εύρος ζώνης δικτύου, και Virtual Machines. Rapid elasticity. Οι δυνατότητες αυτές μπορούν να παρακολουθηθούν εύκολα, και να αυξηθεί η μειωθεί το μέγεθος τους σχεδόν άμεσα. Στον καταναλωτή τελικό χρήστη οι δυνατότητες αυτές που είναι διαθέσιμες να παρακολουθήσει συχνά μοιάζουν να είναι άπειρες και μπορούν να αγοραστούν αποκτηθούν σε οποιαδήποτε ποσότητα, οποιαδήποτε στιγμή. Measured Service. Τα συστήματα Cloud αυτόματα ελέγχουν και βελτιστοποιούν τη χρήση των υπολογιστικών πόρων χρησιμοποιώντας κάποια μετρητικά συστήματα σε κάποιο από τα επίπεδα της αφαίρεσης που εισάγουν, κατάλληλο για την συγκεκριμένη παρεχόμενη υπηρεσία (αποθηκευτικού χώρου, υπολογιστικής ισχύος, εύρους ζώνης, ενεργού αριθμού χρηστών κλπ.). Η χρήση των πόρων μπορεί να παρακολουθηθεί, ελεγχθεί και να αναφερθεί ότι παρέχει διαφάνεια και για τις δύο πλευρές, τελικού χρήστη καταναλωτή και παρόχου της χρησιμοποιούμενης υπηρεσίας. 33

34 2.2: Ιστορία του Cloud Computing. Στο παρελθόν υπήρχαν δυο τρόποι για να δημιουργηθεί ένας υπέρ-υπολογιστής. Πρώτα υπάρχει η προσέγγιση του στυλ Blue Gene, η οποία δημιουργεί έναν τεράστιο υπολογιστή με εκατοντάδες ίσως και πολύ περισσότερους επεξεργαστές. Η άλλη προσέγγιση που υιοθετήθηκε από την Google είναι αποκτώντας έναν τεράστιο αριθμό από μικρούς και χαμηλού κόστους υπολογιστές να τους ενσωματώσεις σε έναν cluster με τέτοιο τρόπο ώστε να δουλεύουν όλοι μαζί σαν ένας πολύ μεγάλος υπέρ-υπολογιστής. Βασικά οι υπέρ-υπολογιστές έχουν πολλούς επεξεργαστές τοποθετημένους σε ένα και μοναδικό μηχάνημα, και μοιράζονται κοινή μνήμη και Ι/Ο, ενώ οι cluster είναι δημιουργημένοι από πολλούς μικρότερους υπολογιστές κάθε ένας από τους οποίους περιέχουν τη δική τους μνήμη και Ι/Ο. Παλιότερα οι υπολογιστές ενωνόντουσαν σε έναν cluster για να δημιουργήσουν το επιθυμητό αποτέλεσμα δηλαδή τον υπέρ-υπολογιστή. Αυτή η τεχνολογία ήταν γνωστή στη βιομηχανία και χρησιμοποιούνταν από πολλές εταιρίες πληροφορικής. Αυτή η τεχνολογία επέτρεπε να παραμετροποιήσεις έναν υπολογιστή στο να επικοινωνεί με άλλους με πρωτόκολλα ειδικά σχεδιασμένα για να εξισορροπούν τον υπολογιστικό φόρτο μεταξύ των μηχανημάτων. Σαν χρήστης δεν σε ενδιέφερε για το ποια κεντρική μονάδα εργασίας χρησιμοποιούσες για να τρέξεις το πρόγραμμα σου, και ο cluster έδινε την εγγύηση ότι ο κώδικας θα τρέξει στην καλύτερη δυνατή διαθέσιμη μονάδα εκείνη τη στιγμή. Στις αρχές της δεκαετίας του '90 οι Ian Foster και Carl Kesselman έφεραν στην επιφάνεια μια νέα ιδέα που ονομάστηκε Grid. Η αναλογία που χρησιμοποιήθηκε για την ιδέα αυτή ήταν το ηλεκτρικό διασυνδεδεμένο δίκτυο όπου οι χρήστες θα μπορούσαν να συνδεθούν στο Grid και να χρησιμοποιήσουν μια μετρήσιμη υπηρεσία. Αν οι εταιρίες μπορούν χωρίς να έχουν την δική τους ηλεκτρική παραγωγή, και όμως να χρησιμοποιούν ηλεκτρικό ρεύμα εξωτερικού παρόχου, γιατί αυτό να μην μπορεί να γίνει και με την υπολογιστική ισχύ; Να συνδέεσαι σε ένα Grid (πλέγμα) 34

35 υπολογιστών και να πληρώνεις για ότι χρησιμοποιείς. Η τεχνολογία του Grid επεκτείνει τις τεχνικές του cluster, όπου πολλοί διασυνδεδεμένοι ανεξάρτητοι clusters μπορούν να λειτουργήσουν σαν πλέγμα εξαιτίας αλλά και παρά τη φύση τους να λειτουργήσουν σε ένα μοναδικό domain. Η διαχείριση της αποθήκευσης, η επίβλεψη της ασφάλειας και η μετακίνηση δεδομένων ήταν το βασικό πρόβλημα που έπρεπε να επιλυθεί έτσι ώστε να μπορεί να αναπτυχθεί το Grid. Ένα σύνολο από εργαλεία, ονομαζόμενο Globus, δημιουργήθηκε για να επιλύσει αυτά τα θέματα, αλλά σε επίπεδο υποδομών hardware δεν υπήρχε ακόμα η διαθεσιμότητα και η πρόοδος σε ένα τέτοιο επίπεδο που να επιτρέπει τη πραγματική και καθολική επιτυχία του Grid. Πιο σημαντικά όμως από αυτούς τους τεχνικούς περιορισμούς ήταν η έλλειψη από επιχειρήσεις για να αγοράσουν. Η φύση του Grid σημαίνει ότι οι επιχειρήσεις θα πρέπει να μεταφέρουν τα δεδομένα και τις εφαρμογές τους σε μια λύση που προσφέρεται από μία τρίτη εταιρία-επιχείρηση. Αυτό δημιουργούσε πολύ μεγάλα εμπόδια στο ξεκίνημα της τεχνολογίας. Άλλο κομβικό ζήτημα που έπρεπε να διευθετηθεί ήταν η ασφάλεια δεδομένων και η εμπιστευτικότητα. Για πολλές επιχειρήσεις τα δεδομένα τους είναι υπερβολικά ευαίσθητα, και είναι πολύ κρίσιμα για τον ίδιο τον επιχειρηματικό τους σκοπό. Το να δοθούν αυτά σε μια τρίτη επιχείρηση δεν θα ήταν καθόλου απλό, και μάλιστα σχεδόν απίθανο να συμβεί. Για παράδειγμα οι τράπεζες ήταν πρόθυμες να αναθέσουν ένα τμήμα από τις υπηρεσίες τους, αλλά ήθελαν να κρατήσουν τον έλεγχο από το hardware και το λογισμικό, βασικά χρησιμοποιώντας την εταιρία που θα ανέθετε τα δεδομένο σαν ένα χώρο εύρεσης προσωπικού. Πηγαίνοντας το Grid ένα βήμα πιο μπροστά στην παροχή υπηρεσίας, είναι το Cloud. Αυτό ενσωματώνει ιδέες από το grid computing και τις ολοκληρώνει σε υπηρεσίες που προσφέρονται από data centers[7]. Η άνοδος της εποχής του Cloud είναι μια ευρέως διαδεδομένη εξέλιξη, εξαπλωμένη σε πολλά διαφορετικά hardware και τεχνολογίες, καθώς και σε υποδομές και επίπεδα σύστασης. Πρώιμες προσπάθειες για την δημιουργία στάνταρντ ήταν μάλλον αδύναμες, γιατί το Cloud προήλθε από τον ιδιωτικό τομέα (Caryer et al. 2009). Σαν μια τέτοια διασπαρμένη ανάπτυξη, με πολύ λίγα τυποποιημένα στάνταρντ, κάθε πάροχος έχει αναπτύξει τη δική του υποδομή Cloud αντί να χρησιμοποιεί τις ήδη κανονικοποιημένες ρυθμίσεις, μια πολύ συγγενική κατάσταση με την 35

36 εμφάνιση του TCP. Αυτή η εκ των έσω οπτική έχει κρατήσει αρκετά πίσω τη διαδικασία θέσπισης κανόνων (Grossman, 2009). [8] 2.2.1: Τα 5 γεγονότα κλειδιά στην ιστορία του Cloud Computing. 1. Έναρξη των Amazon Web Services τον Ιούλιο του 2002 Η αρχική έκδοση του AWS το 2002 ήταν επικεντρωμένη στο να κάνει πληροφορίες διαθέσιμες από την Amazon σε συνεργάτες μέσω ενός μοντέλου διαδικτυακών υπηρεσιών μέσω προγραμμάτων και ανάπτυξης εφαρμογών και πιο συγκεκριμένα στόχευε στο ρόλο της Amazon σαν μεταπράτη. Ενώ αυτό το γεγονός ορίζει το σκηνικό, στην πραγματικότητα η έναρξη του S3 ήταν το πραγματικά πρώτο βήμα προς τη δημιουργία μιας πλατφόρμας Cloud. 2. Ξεκίνημα του S3 (Simple Storage Service) το Μάρτιο του 2006 Η πραγματική καινοτομία που εισήγαγε το Amazon S3 ήταν το τιμολογιακό μοντέλο που όρισε. Αυτό στηρίχθηκε σε μια λογική pay-per-use (πληρωμή ανά χρήση) η οποία και έχει γίνει πλέον ένα δεδομένο για την τιμολόγηση υπηρεσιών Cloud. Επίσης με την έναρξη του S3 τοποθέτησε την Amazon από έναν απλό μεταπράτη στην θέση ενός πολύ δυνατού παίχτη στον χώρο της τεχνολογίας. Αξιοσημείωτες είναι οι διθυραμβικές κριτικές που εισπράττει από οικονομικό και τεχνολογικό τύπο της εποχής αυτή η καινοτομία της Amazon. 3. Έναρξη του EC2 (Elastic Compute Cloud) τον Αύγουστο του 2006 To EC2 είχε ένα πολύ πιο ήσυχο ξεκίνημα από το S3 τον Αύγουστο του 2006 αλλα θεωρείται να έχει τη μεγαλύτερη επίπτωση, κάνοντας διαθέσιμη την υποδομή υπολογιστικής ισχύος. Αυτό ολοκλήρωσε τον κύκλο που είχε ξεκινήσει να σχηματίζεται παρουσιάζοντας μια ενεργή, πολύ πιο συμπαγή και ολοκληρωμένη υποδομή Cloud. Στην πραγματικότητα η ανάλυση εκείνης της περιόδου βρήκε αρκετές δυσκολίες στο να γίνει αντιληπτό πόσο μεγάλο ζήτημα ήταν, και πολύ περισσότερο εξέλαβε αυτή την καινοτομία σαν μια ακόμα υπηρεσία που μπορούσε να φιλοξενήσει υπηρεσίες online απλά με ένα 36

37 διαφορετικό μοντέλο τιμολόγησης. 4. Έναρξη του Google App Engine τον Απρίλιο του 2008 Η έναρξη του Google App Engine ήταν η είσοδος της πρώτης εταιρίας του είδους της Google στην αγορά του Cloud Computing. Η είσοδος μιας κυριαρχούσας εταιρίας, στο πεδίο του Internet σαν την Google, σε αυτή την αναπτυσσόμενη αγορά ήταν ξεκάθαρα ένα πολύ μεγάλο βήμα προς την ευρεία αποδοχή και υιοθέτηση του Cloud Computing. Όπως και με όλα τα αντίστοιχα προϊόντα εισήχθηκαν ριζοσπαστικές τιμολογιακές πολιτικές, με ένα πλάνο για δωρεάν εισαγωγικό στάδιο και με πολύ χαμηλές υπηρεσίες υπολογιστικής ισχύος και αποθηκευτικού χώρου. 5. Έναρξη του Windows Azure Beta το Νοέμβριο του 2009 Η είσοδος της Microsoft στο Cloud Computing είναι μια ξεκάθαρη ένδειξη της ανάπτυξης αυτού του χώρου. Η Microsoft για μεγάλο χρονικό διάστημα δεν δεχόταν το Διαδίκτυο σαν μια σημαντική και υποσχόμενη αγορά και συνέχιζε να επικεντρώνεται στην αγορά του προσωπικού desktop υπολογιστή επί χρόνια. Η συνειδητοποίηση και η αλλαγή αυτή στάσης δείχνει μια σημαντική στροφή που συντελείτο. Η έναρξη του Azure είναι ένα γεγονός κλειδί στην στην ιστορία του Cloud Computing καθώς η μεγαλύτερη εταιρία λογισμικού πήρε μια μικρή αλλά πάρα πολύ σημαντική στροφή προς το Διαδίκτυο. [9] 2.3: Τρεις απόψεις που είναι νέες στο Cloud Computing από πλευράς hardware 1. Η ψευδαίσθηση των άπειρων υπολογιστικών πόρων που μπορούν να είναι διαθέσιμες κατά τη ζήτηση τους, εξαλείφει την ανάγκη για τους χρήστες του Cloud Computing να σχεδιάσουν για πολύ μεγάλα χρονικά διαστήματα. 2. Η μείωση της εκ των προτέρων δέσμευσης κεφαλαίου από τους χρήστες του Cloud. Αυτό είναι δυνατό επειδή μπορεί πλέον μια επιχείρηση να ξεκινήσει με μια μικρή επένδυση σε 37

38 hardware, και να συνεχίσει να το αναπτύσσει σύμφωνα με τις ανάγκες τις. 3. Η δυνατότητα της πληρωμής ανά χρήση υπολογιστικής ισχύος αλλά και αποθηκευτικού χώρου σε μια σύντομη χρονική βάση (π.χ. Επεξεργαστές ανά ώρα ή αποθηκευτικός χώρος ανά μέρα) και η απελευθέρωση τους όταν πλέον δεν είναι χρήσιμα. Με αυτό τον τρόπο ανταμείβεται η συντήρηση. 2.4: Οι πιο διαδεδομένες μορφές υπηρεσιών Cloud Computing [10] 2.4.1: IaaS IaaS (Infrastructure as a Service Υποδομή σαν υπηρεσία): Αυτή η μορφή Cloud δίνει πρόσβαση σε εικονικές πλατφόρμες hardware, που περιλαμβάνουν τα μηχανήματα, το δίκτυο και αποθηκευτικά μέσα. Με αυτή τη μορφή, οι χρήστες μπορούν να δημιουργήσουν το δικό τους cluster πάνω στον οποίο είναι οι ίδιοι υπεύθυνοι στο να εγκαταστήσουν, να διατηρήσουν και να τρέξουν την δική τους στοίβα από εφαρμογές. Η υποδομή είναι το χαμηλότερο επίπεδο, και είναι ένα μέσω για να παρέχετε η επεξεργασία, η αποθήκευση, το δίκτυο και άλλοι βασικοί υπολογιστικοί πόροι σαν δεδομένες υπηρεσίες δια μέσω του δικτύου. Οι server, τα αποθηκευτικά συστήματα, τα swtch, τα router και άλλα συστήματα, χειρίζονται διάφορους τύπους φόρτου εργασίας, από μια σειρά προγραμμάτων που εκτελούνται χωρίς παρέμβαση χρήστη μέχρι και την αποθήκευση στο server σε φορτία αιχμής. Οι πάροχοι του Cloud μπορούν να εφαρμόσουν και να τρέχουν λειτουργικά συστήματα και λογισμικό για το υποκείμενο hardware τους : PaaS PaaS (Platform as a Service Πλατφόρμα σαν υπηρεσία): Αυτή η μορφή Cloud παρέχει 38

39 πρόσβαση σε ένα προγραμματιστικό περιβάλλον ή σε ένα περιβάλλον εργασίας, με δυνατότητα επεκτάσιμης υπολογιστικής ισχύος και δομές δεδομένων ενσωματωμένες σε αυτό. Με την PaaS οι χρήστες μπορούν να αναπτύξουν και να εκτελέσουν τις δικές τους εφαρμογές μέσα στο περιβάλλον που τους παρέχεται από τον πάροχο της υπηρεσίας. Αυτό το μεσαίο επίπεδο παρέχει υψηλότερο επίπεδο αφαίρεσης και υπηρεσίες για την ανάπτυξη, δοκιμή, εφαρμογή, φιλοξενία και διατήρηση εφαρμογών στο ίδιο ενσωματωμένο περιβάλλον. Αυτό το επίπεδο παρέχει ένα περιβάλλον εργασίας και τα μέσα για την τοποθέτηση εφαρμογών που χρησιμοποιούν γλώσσες προγραμματισμού που υποστηρίζει ο πάροχος του Cloud : SaaS SaaS (Software as a Service Λογισμικό σαν υπηρεσία): Αυτή η μορφή Cloud δίνει πρόσβαση σε μια συλλογή από εφαρμογές λογισμικού. Οι πάροχοι SaaS προσφέρουν πρόσβαση σε συγκεκριμένες εφαρμογές που ελέγχονται και εκτελούνται στην υποδομή των παρόχων. Η SaaS συχνά αναφέρεται σαν Software on Demand Εικόνα 4: Μορφές και επίπεδα Cloud Computing σαν παρεχόμενες υπηρεσίες 39

40 2.4: Υλοποιήσεις Cloud Private Cloud (Ιδιωτικό Cloud) Τα Private Clouds δίνουν στους χρήστες άμεση πρόσβαση σε υπολογιστικούς πόρους οι οποίοι φιλοξενούνται στην υποδομή ενός συγκεκριμένου οργανισμού. Οι χρήστες μπορούν να ελέγξουν από μόνοι τους και να τροποποιήσουν το μέγεθος από τους πόρους που παίρνουν από το private Cloud, συχνά μέσω μιας διεπαφής διαδικτυακής υπηρεσίας, όπως ακριβώς και σε ένα δημόσιο (public) Cloud. Ωστόσο, επειδή έχει εφαρμοστεί στα πλαίσιο ενός ήδη υπάρχοντος data center κάποιου οργανισμού (και προφανώς πίσω από ένα ήδη υπάρχων firewall) το private Cloud υπόκειται σε στους περιορισμούς ασφάλειας του οργανισμού, φυσικούς, ηλεκτρονικούς, και επομένως παρέχει μια μεγαλύτερη ασφάλεια σε ευαίσθητα δεδομένα και κώδικα. Επιπλέον, τα private Clouds σταθεροποιούν και βελτιστοποιούν την απόδοση ενός ήδη υπάρχοντος hardware σε ένα συγκεκριμένο data center μέσω της τεχνολογίας του Virtualization που χρησιμοποιούν, βελτιώνοντας κατά πολύ έτσι την αποτελεσματικότητα του data center ενώ παράλληλα μειώνουν και τα λειτουργικά κόστη. Community Cloud (Κοινοτικό Cloud) Η υποδομή του Cloud είναι διαμοιρασμένη από πολλούς οργανισμούς και εξυπηρετεί μια συγκεκριμένη κοινότητα η οποία έχει σαν κοινό τόπο κάποιο ενδιαφέρον ή στόχο (π.χ. αποστολή, απαιτήσεις ασφάλειας, πολιτική, σκέψεις υποχωρητικότητας συμβιβασμού). Αυτό το Cloud μπορεί να διαχειρίζεται από κάποιον από τους αναφερθέντες οργανισμούς, ή την εποπτεία του να την έχει ένας τρίτος οργανισμός ή επιχείρηση. Public Cloud (Δημόσια Clouds) Τα public Clouds παρέχουν πρόσβαση στους υπολογιστικούς τους πόρους στο γενικό κοινό μέσω του διαδικτύου. Ο πάροχός του επιτρέπει στους καταναλωτές να έχουν υπό τον έλεγχο τους, τους πόρους που έχουν ζητήσει, και αυτό γίνεται πιο συχνά μέσω μιας διαδικτυακής διεπαφής. Το ενοίκιο ουσιαστικά του καταναλωτή είναι σύμφωνα με την ανάγκη του με μια βάση του pay-asyou-go (πληρώνεις όσο χρησιμοποιείς). Τα public Clouds προσφέρουν πρόσβαση σε μεγάλα ταμεία υπολογιστικών πόρων οι οποίοι μάλιστα είναι αρκετά επεκτάσιμοι και σε προσωρινό ακόμα επίπεδο χωρίς να απαιτούν κάποια επένδυση κεφαλαίου για την ανάπτυξη των υποδομών 40

41 του data center. Hybrid Cloud (Υβριδικά Clouds) Ένα hybrid Cloud συνδυάζει τους πόρους (π.χ. Μηχανήματα, δίκτυο, αποθήκευση κλπ.) που προέρχονται από περισσότερα του ενός public Clouds και περισσότερα του ενός private Clouds και ίσως συνδυασμό και των δυο. [11][12] 2.5: Γιατί να επιλέξει κάποιος το Cloud Computing Το Cloud Computing θεωρείται από πολλούς σαν ένα μοντέλο που προσφέρει μια εικόνα από το μέλλον για το σύστημα με το οποίο θα υπάρχει πρόσβαση σε υπολογιστικούς πόρους, επειδή προσφέρει τα ακόλουθα πλεονεκτήματα: Self-service provisioning (Φροντίζεται από τον ίδιο το χρήστη): Επιτρέπει στους χρήστες να εφαρμόσουν τα δικά τους σύνολα από υπολογιστικούς πόρους σύμφωνα με τις ανάγκες τους, χωρίς τις καθυστερήσεις και τις επιπλοκές που έχει συνήθως η αγορά νέων υποδομών. Η τεχνολογία αυτή η ανάπτυξη και τροποποίησή της επιτρέπει τη βελτίωση της εμπειρίας του τελικού χρήστη του Cloud ενώ ταυτόχρονα μπορεί να γίνεται επίβλεψη, διαχείριση ή και επέκταση του υποκείμενου hardware. Scalability (Επεκτασιμότητα) : Σπάει τη σύζευξη που υπήρχε ανάμεσα στις κυμαινόμενες ανάγκες μεμονωμένων χρηστών και τους τυπικούς περιορισμούς υποδομών, και αυτό το κάνει επειδή μπορεί να καλύψει άμεσα την αύξηση σε ανάγκη για υπολογιστικούς πόρους αλλά και να τους απελευθερώσει όταν αυτοί δεν είναι αναγκαίοι. Reliability and fault-tolerance (Αξιοπιστία και ανοχή σε σφάλματα): Είναι εύκολο να δοθεί έμφαση σε συγκεκριμένα κομμάτια της υποδομής ώστε αυτά να βελτιωθούν έως ότου να καλύπτουν τις ανάγκες σε αξιοπιστία. Επίσης αυτά τα επίπεδα αξιοπιστίας μπορούν να τροποποιηθούν, αλλά και να καλυφθούν χωρίς καμία μεσολάβηση του τελικού χρήστη. Optimization/Consolidation (Βελτιστοποίηση/Σταθεροποίηση): Μεγιστοποιεί τη χρήση και αυξάνει την αποτελεσματικότητα της υπάρχουσας υποδομής και των πόρων της. Επεκτείνει τον κύκλο ζωής της υποδομής και μειώνει τα έξοδα κεφαλαίου για την ανανέωση της. QoS (Quality of Service Ποιότητα υπηρεσίας): Επιτρέπει στους διαχειριστές να 41

42 επανεκτιμούν δυναμικά την SLA (service-level agreement) που σχετίζεται με τους χρήστες και τις ομάδες αυτών για τους υπάρχοντες πόρους. Επιτρέπει στον εκάστοτε οργανισμό να αντιδρά γρήγορα σε κυμαινόμενες συνθήκες χωρίς να παρέχει στους χρήστες περιττές πληροφορίες και ανάμειξη στο ζήτημα. Well defined API (Σαφώς προσδιορισμένο API) : Η χρήση ενός καλώς προσδιορισμένου και σταθερού βιομηχανικού API απαγκιστρώνει τους πελάτες από συγκεκριμένους προμηθευτές και βελτιώνει τη διαλειτουργικότητα (interoperability) με έναν ολοένα και αναπτυσσόμενο αριθμό από εργαλεία, αλλά και παρόχους υπηρεσιών Cloud. As-needed availability (Διαθεσιμότητα ανάλογα με την ανάγκη): Ευθυγραμμίζει τη σπατάλη πόρων με την πραγματική χρήση τους επιτρέποντας έτσι στους εκάστοτε οργανισμούς να πληρώνουν μόνο για τους πόρους τους οποίους πραγματικά χρειάζονται, και όταν τους χρειάζονται. 2.6: Open source και Market-Oriented (εμπορικού σκοπού) Cloud Computing 2.6.1: Open-Source: Το ανοιχτό λογισμικό (open-source) είναι ένας από τους βασικούς υποστηρικτές της ανάπτυξης της τεχνολογίας αυτής μαζί με συγκεκριμένα ανοιχτά στάνταρντ (HTML, HTTP, CSS, XML κλπ) άσχετα με το αν είναι Linux, Apache, Firefox ή Python. Η GPL (GNU General Public License) είναι αυτή με τη μεγαλύτερη απήχηση από τις άδειες ανοιχτού λογισμικού. Όταν γράφτηκε στην πραγματικότητα αυτή η άδεια (GPL v2) η μεταφορά δεδομένων γινόταν μόνο μέσω φυσικών μέσων ή FTP (η άδεια γράφτηκε το 1991 οπότε και το internet βρισκόταν ακόμα σε νηπιακά στάδια. Στην άδεια αυτή υπάρχει μια πολύ ισχυρή παράγραφος (ο Linus Torvalds ονομάζει tit-for-tat) η οποία έχει παίξει πολύ σημαντικό ρόλο στην ανάπτυξη των Linux, GCC, MySQL που είναι και τρεις από τους θεμέλιου λίθους του SaaS και Cloud Computing. Έδωσε στους προγραμματιστές που συνέβαλαν την εμπιστοσύνη στο ότι η δουλειά τους θα επωφελούσε όλο τον κόσμο και ότι θα παρέμενε ελεύθερη για διανομή, αντί να γίνει προϊόν εκμετάλλευσης από κάποιες εταιρίες λογισμικού που δεν θα υποχρεούνταν να επιστρέψουν κάτι στην κοινότητα του opensource. Αυτή η ιδέα και η ηθική γύρω της είναι αυτή που κινητοποιεί τους προγραμματιστές για τη συνεισφορά τους στην κοινότητα OSS (open-source Software). Έχουν ήδη αναπτυχθεί πολλές εφαρμογές για την υλοποίηση πλατφόρμας Cloud με διαφορές μεταξύ τους είτε στην προσέγγιση είτε τη στόχευση αλλά 5 από τις πιο διαδεδομένες και αναπτυσσόμενες είναι: 42

43 1. Eucalyptus 2. Sheepdog 3. Ganeti 4. OpenStack (Apache Licence) 5. OpenNebula (Apache Licence) [13] 2.6.2: Market-oriented: Το παρακάτω σχήμα παρουσιάζει την αρχιτεκτονική για την υποστήριξη διανομής πόρων σε Data Centers και Cloud Computing με εμπορικό στόχο. Παρουσιάζονται τέσσερις (4) βασικές οντότητες για την αρχιτεκτονική αυτή: 1. Users/Brokers (Χρήστες/ Μεσίτες-Μεταπράτες): Οι χρήστες ή οι μεσίτες που λειτουργούν για λογαριασμό τους υποβάλλουν αιτήσεις από οπουδήποτε στον κόσμο στο συγκεκριμένο data center και το Cloud για να επεξεργαστούν. 2. SLA Resource Allocator (Service level agreement εκχωρητής πόρων): Ο SLA εκχωρητής πόρων λειτουργεί σαν μια διεπαφή ανάμεσα στον πάροχο του data center / Cloud και τους εξωτερικούς πελάτες/μεσίτες. Απαιτεί την αλληλεπίδραση από τα ακόλουθα στοιχεία και μηχανισμούς για να υποστηρίξει τον διαχείριση πόρων βασισμένη στην SLA: Service Request Examiner and Admission Control (Ελεγκτής αιτημάτων για υπηρεσία και έλεγχος αποδοχής): Όταν αρχικά υποβάλλεται ένα αίτημα για υπηρεσία ο ελεγκτής αιτημάτων για υπηρεσία και ο έλεγχος αποδοχής μεταφράζουν την υποβληθείσα αίτηση σε διαδικασία ικανοποίησης της απαιτούμενης ποιότητας πριν παρθεί απόφαση για το αν θα ικανοποιηθεί η όχι το εν λόγω αίτημα. Έτσι διαβεβαιώνεται ότι δεν θα υπάρξει υπερφόρτωση των πόρων και ότι θα απορριφθούν τα αιτήματα που δεν μπορούν να καλύψουν οι περιορισμένοι πόροι. Επίσης είναι αναγκαίο να έχει ανά πάσα στιγμή τα τελευταία δεδομένα από τη διαθεσιμότητα που υπάρχει (από τον Hypervisor) και το φόρτο εργασίας στον οποίο γίνεται επεξεργασία (από το Service Request Monitor) έτσι ώστε να γίνει η διανομή των πόρων και οι αποφάσεις γύρω από αυτή αποτελεσματικά. Στη συνέχεια αναθέτει 43

44 κάποιες από τις αιτήσεις σε VMs και ορίζει τα δικαιώματα πάνω στους πόρους για ήδη παραχωρημένα VΜs. Pricing (Τιμολόγηση): Ο μηχανισμός τιμολόγησης αποφασίζει πως οι αιτήσεις θα χρεώνονται. Για παράδειγμα, οι αιτήσεις μπορούν να χρεώνονται ανάλογα με το πότε έγιναν/τερματίστηκαν, με σταθερό ή κυμαινόμενο αντίτιμο ή και ανάλογα με τη διαθεσιμότητα (προσφορά/ζήτηση). Η τιμολόγηση έχει και το ρόλο μιας βάσης για να διαχειρίζεται η προσφορά και η ζήτηση υπολογιστικών πόρων που παρέχει το data center και διευκολύνουν τη διανομή των πόρων αποτελεσματικά. Accounting (Λογιστικοποίηση): Ο μηχανισμός της λογιστικοποίησης διατηρεί την πραγματική χρήση των πόρων από τις αιτήσεις για αυτούς έτσι ώστε τα τελικά κόστη να υπολογιστούν και να χρεωθούν στους χρήστες. Επιπλέον τα τηρούμενα αρχεία ιστορικού μπορούν να μεταβούν και να χρησιμοποιηθούν από τον ελεγκτή αιτημάτων για υπηρεσίες και έλεγχο αποδοχής ώστε να βελτιωθεί η μελλοντική διανομή των πόρων. VM Monitor (Επιμελητής εικονικών μηχανών Hypervisor): Ο μηχανισμός του VMM κρατάει συνεχώς στοιχεία για τη διαθεσιμότητα που υπάρχει σε εικονικές μηχανές και τα δικαιώματα που έχουν αυτές σε πόρους του συστήματος. Service Request Monitor (Ελεγκτής αιτημάτων για υπηρεσίες): Ο ελεγκτής αυτός κρατάει τα στοιχεία για την πρόοδο της εκτέλεσης αιτημάτων για υπηρεσία. Dispatcher (Αποστολέας): Αυτός ο μηχανισμός ξεκινά την εκτέλεση των αιτημάτων που έχουν γίνει δεκτά. 3. VΜs (εικονικές μηχανές): Πολλαπλές εικονικές μηχανές μπορούν να ξεκινήσουν και να σταματήσουν δυναμικά σε μια και μόνο φυσική μηχανή για να ικανοποιήσουν τις αιτήσεις που υπάρχουν, και ως εκ τούτου παρέχουν τη μέγιστη δυνατή ευελιξία σε κατατμήσεις του συνόλου των πόρων στο ίδιο φυσικό μηχάνημα ώστε να καλύπτονται με το βέλτιστο δυνατό τρόπο οι πολλοί διαφορετικές απαιτήσεις που υπάρχουν από τα αιτήματα για υπηρεσία. Επιπλέον πολλά VΜ μπορούν να τρέξουν ταυτόχρονα εφαρμογές βασισμένες σε 44

45 διαφορετικά λειτουργικά συστήματα σε ένα μοναδικό φυσικό μηχάνημα πράγμα που μπορεί να γίνει επειδή τα VM είναι εντελώς απομονωμένα μεταξύ τους στο μηχάνημα αυτό. 4. Physical Machines (Πραγματικά-Φυσικά Μηχανήματα): Τα Data Center περιέχουν πολλούς server οι οποίοι παρέχουν τους πόρους ώστε να καλυφθούν τα αιτήματα για υπηρεσίες που θα υπάρχουν. [14] Εικόνα 5: Οργάνωση και σχεδιασμός ενός market oriented Cloud 2.7: Ποια είναι η σχέση μεταξύ Virtualization και Cloud Computing; Όπως έχει περιγραφεί ήδη η τεχνολογία του Virtualization δίνει τη δυνατότητα να τρέξουμε virtual machines πάνω από έναν hypervisor. Ένα VM είναι μια υλοποίηση σε επίπεδο λογισμικού ενός πραγματικού μηχανήματος, το οποίο όμως μπορεί να εκτελέσει στην πραγματικότητα εργασίες σαν φυσικός υπολογιστής. Κάθε VM έχει το δικό του kernel, λειτουργικό σύστημα, βιβλιοθήκες αλλά και εφαρμογές. Ο hypervisor παρέχει μια ομοιόμορφη αφαίρεση (abstraction) του υποκείμενου hardware. Πολλαπλά VM μπορούν να εκτελούνται παράλληλα σε έναν hypervisor. Η αποσύζευξη του VM με το συγκεκριμένο hardware είναι αυτό που του επιτρέπει στο ίδιο VM να εκτελεστεί και σε διαφορετικό φυσικό μηχάνημα. Αυτό επιτρέπει στον πάροχο των υπηρεσιών Cloud την απαραίτητη ευελιξία να μετακινεί, να βρίσκει και να διανέμει 45

46 τους υπολογιστικούς πόρους που του έχουν ζητηθεί όπου υπάρχουν αυτοί διαθέσιμοι στα φυσικά μηχανήματα. 2.8: Μελλοντικοί στόχοι για το Cloud Computing Εναλλαξιμότητα (interchangeability), περισσότερο από τη διαλειτουργικότητα (interoperability), είναι ο δρόμος ο οποίος πρέπει να ακολουθηθεί. Έχοντας μια κοινή αναπαράσταση για λειτουργικά σημαντικά αντικείμενα, οι εφαρμοστές μπορούν να έχουν μεγαλύτερη ευελιξία να μετακινούν κάποια μοντέλα από ένα περιβάλλον σε ένα άλλο. Υπάρχουν ήδη κάποιες προτάσεις για την εκτίμηση των τεχνικών ώστε να μπορούν να καθοριστούν οι καλές υπηρεσίες Cloud, αλλά σε γενικές γραμμές δεν είναι το απαιτούμενο για το μέλλον της τεχνολογίας αυτής. Ένα πολύ χαρακτηριστικό παράδειγμα είναι ότι μπορούμε να αλλάξουμε πάροχο για την τηλεόραση και το internet μας χωρίς να χρειάζεται να αλλάξουμε τηλεόραση η υπολογιστή. Γιατί να μην μπορούν οι εφαρμογές να μετακινούνται μεταξύ παρόχων όταν αποφασίσουμε ότι θέλουμε να το κάνουμε; Αναμφισβήτητα η θέσπιση κανονισμών και στάνταρντ για το Cloud Computing θα οδηγούσε στην εξέλιξη της τεχνολογίας στο μέγιστο των δυνατοτήτων της και θα έδινε στους χρήστες την απαραίτητη ώθηση για τις εφαρμογές τους. Η δημιουργία μιας cross-cloud πλατφόρμας είναι ένα αρκετά δύσκολο αντικείμενο αλλά σίγουρα θα απελευθέρωνε τους χρήστες στον ουρανό των Cloud. [15] Η Ευρωπαϊκή επιτροπή έχει πρόσφατα ορίσει και δημοσιεύσει μια τεχνική αναφορά για το περίγραμμα των κατευθύνσεων της έρευνας γύρω από το Cloud computing. (ICT research in FP7) Επίσης εκτενής αναφορά στους μελλοντικούς στόχους της νέας τεχνολογίας γίνεται και στο OPPORTUNITIES FOR EUROPEAN Cloud COMPUTING BEYOND 2010 για λογαριασμό της Ε.Ε. Ένα από τα πιο σημαντικά συμπεράσματα της έκθεσης αυτή είναι: Οι συντάκτες της αναφοράς συμπεραίνουν ότι οι τεχνολογίες Cloud και τα μοντέλα τους, δεν έχουν φτάσει ακόμα την μέγιστη των δυνατοτήτων τους, και πολλές από τις δυνατότητες που σχετίζονται με το Cloud Computing δεν έχουν αναπτυχθεί και ερευνηθεί ακόμα τόσο ώστε να επιτρέπεται η εκμετάλλευση τους σε μέγιστο βαθμό, και να ικανοποιούνται αντίστοιχα οι περιπτώσεις χρήσης του. [16] Ταυτόχρονα υπάρχει μια τάση για τη βελτίωση της διαλειτουργικότητας των Cloud. Το πρόσφατα διαμορφωμένο Cloud Computing Interoperabilty Forum κινείται σε αυτή την κατεύθυνση, δίνοντας έτσι τη δυνατότητα στις υποδομές Cloud να εξελίσσονται σε μια διαφανή 46

47 πλατφόρμα. Σχετικά με τα ζητήματα ασφάλειας και ιδιωτικότητας, η μετάβαση σε υπηρεσίες Cloud συντελούν στην ανάπτυξη νέων μηχανισμών προστασίας δεδομένων για να ασφαλίσουν τα δεδομένα, την ιδιωτικότητα, την ασφάλεια των πόρων και την πνευματική ιδιοκτησία. 47

48 Κεφάλαιο Συστατικά ενός Cloud 3.1: Εισαγωγή Το Cloud που θα στηθεί είναι ένα hybrid Cloud με σκοπό τη δημιουργία υποδομών IaaS. Η βασική του σκοπιμότητα είναι η παροχή on-demand υπολογιστικής ισχύος με τη μορφή εικονικών μηχανών (Virtual Machines) αλλά και τη διαθεσιμότητα στην παροχή χώρου αποθήκευσης (virtual storage). Οι ανάγκες που θα καλυφθούν είναι πειραματικές, δηλαδή θα παρουσιαστεί η δυνατότητα προσομοίωσης ενός αριθμού υπολογιστών που θα μπορεί να καλύψει τις ανάγκες πειραμάτων και δοκιμών. Το βασικό μέρος του Cloud θα είναι ένα private on-premise Cloud που θα βρίσκεται σε server σε εργαστήριο του τμήματος ΗΜ&ΤΥ, αλλά θα παρέχεται και η δυνατότητα σύνδεσης με ένα public Cloud συντελώντας έτσι στη δημιουργία του hybrid το οποίο θα μπορεί να καλύψει και ανάγκες σε φορτία αιχμής. Στο κεφάλαιο που ακολουθεί παρουσιάζονται τα εργαλεία που θα χρησιμοποιηθούν για να εξυπηρετηθεί ο πιο πάνω σκοπός. Συνοπτικά παρουσιάζονται τα δυο βασικά εργαλεία που κάνουν δυνατή την αναγκαία υλοποίηση: το Xen και το Eucalyptus. 3.2: Xen 3.2.1: Τι είναι ο Hypervisor του Xen; O Hypervisor του Xen είναι ένα στρώμα λογισμικού που εκτελείται απ' ευθείας στο hardware του υπολογιστή αντικαθιστώντας το λειτουργικό σύστημα και μέσω αυτού επιτρέπεται να εκτελούνται πολλαπλά φιλοξενούμενα λειτουργικά συστήματα ταυτόχρονα (guests). Υποστηρίζονται επεξεργαστές αρχιτεκτονικών x86, Itanium, PowerPC, ARM πράγμα που επιτρέπει στον Hypervisor αυτό να εκτελείται σε μια ευρεία ποικιλία από υπολογιστικό υλικό ενώ ταυτόχρονα υποστηρίζει Linux, NetBSD, FreeBSD, Solaris, Windows και άλλα κοινά λειτουργικά συστήματα σαν guests που τρέχουν στον hypervisor. Η κοινότητα του Xen.org αναπτύσσει και διατηρεί τον hypervisor του Xen σαν μια δωρεάν διανομή υπό την άδεια GNU General Public License. [17][18][19] 48

49 3.2.2: Συστατικά του περιβάλλοντος του Xen Το εικονικό περιβάλλον του Xen αποτελείται από έναν αριθμό αντικειμένων που συνεργάζονται για να προσφέρουν το εικονικό περιβάλλον αυτό, που είναι επιθυμητό να εγκατασταθεί: Xen Hypervisor Domain 0 Guest Domain Management and Control (Xen DM&C) Domain U Guest (Dom U) PV Guest HVM Guest Το διάγραμμα που ακολουθεί περιγράφει την βασική οργάνωση αυτών των στοιχείων. Εικόνα 6: Βασική οργάνωση των στοιχείων που απαρτίζουν ένα σύστημα με Xen Virtualization 3.2.3: Xen Hypervisor Ο Xen Hypervisor είναι το βασικό επίπεδο αφαίρεσης του λογισμικού που κάθεται 49

50 ακριβώς πάνω στο υποκείμενο hardware, κάτω από οποιοδήποτε λειτουργικό σύστημα. Είναι υπεύθυνο για τον χρονοπρογραμματισμό (scheduling) της CPU και την τμηματοποίηση της μνήμης για τις διάφορες εικονικές μηχανές που τρέχουν στο σύστημα. Ο hypervisor όχι μόνο αφαιρεί (κάνει αφηρημένο: στο πρωτότυπο abstracts ) το hardware για τις εικονικές μηχανές αλλά επίσης ελέγχει και την εκτέλεση των εικονικών μηχανών καθώς μοιράζονται το ίδιο περιβάλλον εκτέλεσης. Δεν έχει καμία γνώση για τη δικτύωση, εξωτερικούς χώρους αποθήκευσης, την εικόνα ή για λειτουργίες Ι/Ο που βρίσκονται στο υπολογιστικό σύστημα : Domain 0 Ο Domain 0 είναι ένας τροποποιημένος kernel των Linux, και είναι στην πραγματικότητα μια εικονική μηχανή (VΜ) η οποία τρέχει πάνω στον hypervisor και έχει κάποια τροποποιημένα ιδιαίτερα δικαιώματα για την πρόσβαση σε φυσικούς πόρους Ι/Ο καθώς και αλληλεπιδρά με τα υπόλοιπα VM (Domain U: PV και HVM Guests) που τρέχουν στο σύστημα. Όλα τα περιβάλλοντα Virtualization με το Xen απαιτούν την ύπαρξη και την εκτέλεση Domain 0 πριν την εκτέλεση οποιουδήποτε άλλου VM. Δύο οδηγοί περιλαμβάνονται στον Domain 0 για να υποστηρίζουν το δίκτυο και τα αιτήματα προς το δίσκο από τα Domain U PV και HVM Guests: ο Network Backend Driver και ο Block Backend Driver. Ο Network Backend Driver επικοινωνεί απ' ευθείας με το τοπικό δικτυακό hardware για να επεξεργαστεί όλα τα αιτήματα που προέρχονται από τα Domain U guests. Ο Block Backend Driver επικοινωνεί με τις τοπικές συσκευές αποθήκευσης για να διαβάσει και να εγγράψει δεδομένα σύμφωνα με τα αιτήματα των guests. Εικόνα 7: Οδηγοί που περιλαμβάνονται στον Domain : Domain U 50

51 Οι DomainU guests δεν έχουν απ ευθείας πρόσβαση στο φυσικό hardware της πλατφόρμας όπως ο Domain 0 guest και γι' αυτό ονομάζονται και συχνά unprivileged (χωρίς δικαιώματα). Όλοι οι paravirtualized guests που τρέχουν στον hypervisor του Xen αναφέρονται σαν Domain U PV Guests και είναι τροποποιημένα λειτουργικά συστήματα Linux, Solaris, FreeBSD, και άλλα UNIX λειτουργικά συστήματα. Όλοι οι πλήρως virtualized guests αντίστοιχα ονομάζονται Domain U ΗVM Guests και τρέχουν στάνταρντ εκδόσεις των Windows ή οποιοδήποτε άλλο μητροποποιημένο λειτουργικό σύστημα. Μια Domain U PV Guest VM γνωρίζει ότι δεν έχει απ' ευθείας πρόσβαση στο hardware και αναγνωρίζει ότι υπάρχουν και άλλα VM που τρέχουν στο ίδιο φυσικό μηχάνημα. Μια Domain U HVM Guest VM δεν γνωρίζει ότι μοιράζεται τον επεξεργαστικό χρόνο στο υλικό με άλλες VM που υπάρχουν. Ένας Domain U PV Guest περιέχει δύο οδηγούς για για πρόσβαση στο δίκτυο και στο δίσκο: PV Network Driver και PV Block Driver. Εικόνα 8: Οδηγοί που περιλαμβάνονται στον Domain U Ένας Domain U HVM Guest δεν έχει τους PV drivers που είναι κανονικά τοποθετημένοι μέσα σε ένα virtual machine. Αντίθετα ένας εξειδικευμένος δαίμονας (daemon) εκτελείται για κάθε HVM Guest στον Domain 0, ο Qemu- dm. Ο Qemu-dm υποστηρίζει τον Domain U HVM Guest σε αιτήματα για πρόσβαση στο δίκτυο και στο δίσκο. Ο Domain U HVM Guest πρέπει να εκκινήσει όπως ακριβώς θα εκκινούσε και σε ένα φυσικό μηχάνημα, έτσι πρέπει να προστεθεί λογισμικό στον Domain U HVM Guest, Xen virtual firmware, για να εξομοιώσει το BIOS που ένα κανονικό λειτουργικό σύστημα θα περίμενε κατά την εκκίνηση του. 51

52 Εικόνα 9: Λειτουργία Hardware Virtualization και παρουσίαση υποδομής στον guest 3.2.6: Διαχείριση και έλεγχος των Domain Μια σειρά από Linux daemons έχουν κατηγοριοποιηθεί σαν διαχείριση και έλεγχος των Domains από την κοινότητα open-source. Αυτές οι υπηρεσίες υποστηρίζουν τον συνολικό έλεγχο του περιβάλλοντος Virtualization και υπάρχουν μέσα στο Domain 0 VM. Τα διαγράμματα που ακολουθούν παρουσιάζουν τους daemons εκτός του διαγράμματος του Domain 0 για καλύτερη κατανόηση της αρχιτεκτονικής. Xend Ο Xend daemon είναι μια εφαρμογή σε python που θεωρείται ο διαχειριστής για ένα περιβάλλον Xen. Αξιοποιεί την βιβλιοθήκη libxenctrl για να δημιουργήσει τα αιτήματα του Xen hypervisor. Όλα τα αιτήματα που επεξεργάζονται από τον Xend διανέμονται σε αυτόν με μια διεπαφή XMLRPC από το εργαλείο Xm. Εικόνα 10: Επικοινωνία μέσω του Xend daemon 52

53 Xm Είναι το command line εργαλείο που παίρνει τα αιτήματα που εισάγονται από τον χρήστη και τα μεταβιβάζει στον Xend μέσω XML RPC. Xenstored Ο Xenstored daemon διατηρεί ένα registry από πληροφορίες που περιλαμβάνουν την μνήμη και τους συνδέσμους για τα κανάλια γεγονότων ανάμεσα στον Domain 0 και σε όλους τους Domain U Guests. Η Domain 0 virtual machine αξιοποιεί αυτές τις καταγραφές για να στήσει κανάλια συσκευών με άλλα VM στο σύστημα. Libxenctrl Η Libxenctrl είναι μια C βιβλιοθήκη που παρέχει στον Xend τη δυνατότητα να επικοινωνεί με τον Xen hypervisor μέσω του Domain 0. Ένας εξειδικευμένος οδηγός στο εσωτερικό του Domain 0, ο privcmd διανέμει αυτά τα αιτήματα στον hypervisor. Εικόνα 11: Ρόλος της libxenctrl 53

54 Qemu-dm Κάθε HVM Guest που εκτελείται στο περιβάλλον του Xen απαιτεί τον δικό του Qemu daemon. Αυτό το εργαλείο χειρίζεται όλα τα αιτήματα για αποθήκευση και δίκτυο από τον Domain U HVM Guest για να επιτρέψουν έτσι σε μια πλήρως virtualized μηχανή να εκτελεστεί στο περιβάλλον του Xen. Το Qemu πρέπει να βρίσκεται εκτός του Xen hypervisor εξαιτίας της ανάγκης του να έχει πρόσβαση σε δίκτυο και Ι/Ο και γι' αυτό το λόγο βρίσκεται στον Domain 0. Ένα νέο εργαλείο, το Stub-dm, αναπτύσσεται για μελλοντικές εκδόσεις του Xen και θα αφαιρέσει την ανάγκη να τρέχει Qemu για κάθε Domain U HVM Guest και αντί για αυτό θα παρέχει ένα σύνολο υπηρεσιών διαθέσιμες για κάθε Domain U HVM Guest. Αυτό το χαρακτηριστικό δεν είναι διαθέσιμο στο Xen 3.2 αλλά είναι διαθέσιμο σε μια ασταθή δοκιμαστική έκδοση. Xen Virtual Firmware Το Xen Virtual Firmware είναι ένα εικονικό BIOS που είναι ενσωματωμένο σε κάθε Domain U HVM Guest για να διασφαλίσει ότι το λειτουργικό σύστημα θα δεχθεί όλες τις κανονικές οδηγίες εκκίνησης που περιμένει κατά το κανονικό του boot-up παρέχοντας έτσι ένα στάνταρντ συμβατό με PC περιβάλλον για το λογισμικό : Η λειτουργία του Xen Αυτό το τμήμα παρουσιάζει πως ένας paravirtualized Domain U δύναται να επικοινωνήσει με τα εξωτερικά δίκτυα ή την αποθήκευση μέσω του Xen hypervisor και του Domain 0. Επικοινωνία Domain 0 προς Domain U Όπως αναφέρθηκε ήδη, ο Xen hypervisor δεν έχει γραφτεί έτσι ώστε να υποστηρίζει αιτήματα δικτύου και δίσκου. Έτσι ένας Domain U PV Guest πρέπει να επικοινωνήσει μέσω του Xen hypervisor με τον Domain 0 για να επιτευχθεί η πρόσβαση στο δίσκο και το δίκτυο. Το παράδειγμα που ακολουθεί παρουσιάζει έναν Domain U PV Guest ο οποίος γράφει δεδομένα στον τοπικό σκληρό δίσκο. Ο Domain U PV Guest οδηγός PV block driver λαμβάνει ένα αίτημα για να γράψει στον τοπικό δίσκο και γράφει μέσω του Xen hypervisor στην κατάλληλη τοπική μνήμη την οποία 54

55 μοιράζεται με τον Domain 0. Ένα κανάλι που υπάρχει μεταξύ του Domain 0 και του Domain U PV Guest που τους επιτρέπει να επικοινωνούν μέσω ασύγχρονων διατμηματικών (inter-domain) διακοπών στον Xen hypervisor. Ο Domain 0 θα λάβει μια διακοπή από τον Xen hypervisor που προκαλεί τον οδηγό PV Block Backend Driver να πάρει την πρόσβαση στην τοπική μνήμη του συστήματος και να αναγνώσει τα απαραίτητα τμήματα από την κοινή μνήμη του Domain U PV Guest. Τα δεδομένα που μεταφέρονται από την κοινή μνήμη εγγράφονται στον τοπικό δίσκο σε μία συγκεκριμένη τοποθεσία. Το κανάλι γεγονότων παρουσιάζεται πιο κάτω σαν ένας απευθείας σύνδεσμος ανάμεσα στον Domain 0 και Domain U PV Guest που είναι μι απλοποιημένη εικόνα του πως λειτουργεί το σύστημα. Στην πραγματικότητα το κανάλι γεγονότων εκτελείται δια μέσω του Xen hypervisor με συγκεκριμένες διακοπές να καταχωρούνται στο registry του Xenstored επιτρέποντας έτσι και στον Domain 0 αλλά και στον Domain U PV Guest να μοιράζονται γρήγορα τις πληροφορίες που βρίσκονται στην τοπική μνήμη. Εικόνα 12: Κανάλι γεγονότων μεταξύ Domain 0 - Domain U Xen PCI Passthru Αυτό είναι ένα νέο χαρακτηριστικό Xen και έχει σχεδιαστεί να βελτιώνει την συνολικά απόδοση και να μειώνει το φόρτο εργασίας του Dom 0 Guest. Το PCI Passthru επιτρέπει στον Domain U Guest να έχει απευθείας πρόσβαση στο τοπικό hardware να χρησιμοποιεί τον Domain 0 για πρόσβαση σε αυτό. 55

56 Εικόνα 13: Xen PCI Passthru επικοινωνία guest απευθείας με το hardware 3.2.8: Εξέχοντα σημεία στην ανάπτυξη του Xen. Το Xen διαχωρίζει την εκτέλεση του hypervisor από τη διαχείριση του λειτουργικού συστήματος, τη διαχείριση της στοίβας, τους οδηγούς του υλικού και τους guests. Τα στοιχεία είναι εναλλάξιμα γίνεται επιλογή του καλύτερου λειτουργικού για την υποστήριξη των αναγκών Ισχυρή απομόνωση μεταξύ όλων των συστατικών υποβοηθείται κι από το σύγχρονο υλικό και έτσι οι domains μπορούν να επανεκκινήσουν χωρίς την ολική επανεκκίνηση όλου του συστήματος. Επεκτασιμότητα Ουδετερότητα του λειτουργικού συστήματος. Ένα σημαντικό πλεονέκτημα του Xen Hypervisor είναι η ουδετερότητα του απέναντι στα ποικίλα λειτουργικά συστήματα. Εξαιτίας αυτής του της ανεξαρτησίας το Xen δύναται να επιτρέπει σε οποιοδήποτε σύστημα (Linux, Solaris, BSD, etc) να είναι ο Domain 0 διαβεβαιώνοντας έτσι την μεγαλύτερη δυνατή χρήση. Για παράδειγμα πολλοί κατασκευαστές hardware αξιοποιούν το BSD σαν την επιλογή τους για το λειτουργικό σύστημα του Domain 0 και έχουν την δυνατότητα να 56

57 εγκαταστήσουν το Xen με τον τρόπο που αυτοί θα επιλέξουν. Ο διαχωρισμός του hypervisor από το λειτουργικό σύστημα του Domain0 διαβεβαιώνει επίσης ότι το Xen δεν θα βαρύνεται από κανένα φόρτο του λειτουργικού που είναι στην πραγματικότητα άσχετο με την επεξεργασία και εκτέλεση των guests στο δοθέν μηχάνημα. Στη πραγματικότητα όλο και περισσότεροι οικειοποιούνται αυτή την ιδέα και σπάνε τον Domain 0 από έναν guest σε μια σειρά από μικρά λειτουργικά το κάθε ένα από τα οποία είναι για πολύ συγκεκριμένο λόγο και ευθύνες, πράγμα που οδηγεί στην καλύτερη απόδοση και ασφάλεια του περιβάλλοντος της virtualization. Όσον αφορά τους Domain U guests η κοινότητα του Xen έχει ανοίξει το δρόμο στην τεχνολογία της paravirtualization που πλέον είναι αρκετά κοινότυπη για τα Linux και οποιονδήποτε δημιουργεί μια έκδοση των Linux. Η κοινότητα του Xen παρέχει επίσης και βιομηχανικούς οδηγούς paravirtualization για τους Windows guests, διαβεβαιώνοντας έτσι ότι και μεγαλύτερες εταιρίες πληροφορικής μπορούν να εφαρμόσουν το λειτουργικό της επιλογής τους σαν guest επάνω στο Xen. Security and Reliability Built-In Ένα πολύ κομβικό σημείο στην ανάπτυξη ενός hypervisor είναι ιδιαίτερα σημαντικό να διαβεβαιώνεται ότι το τελικό αποτέλεσμα θα είναι ασφαλές και ειδικά όταν πρόκειται να εφαρμοστεί σε επιχειρησιακά περιβάλλοντα ή σε περιβάλλοντα Cloud computing. Το Xen διασφαλίζει ένα υψηλό επίπεδο ασφάλειας μέσω ορισμένων μεθόδων και τεχνικών χαρακτηριστικών: Απομόνωση του Guest Κάθε Domain U guest είναι απομονωμένος από οποιονδήποτε άλλο Domain U guest χωρίς να υπάρχει τρόπος να αποκτηθεί πρόσβαση στη μνήμη κάποιου άλλου ή στις συνδέσεις δικτύου Πρόσβαση με συγκεκριμένα δικαιώματα Μόνο ο Domain0 ή συγκεκριμένοι guests με σκοπό τον έλεγχο έχουν τη δυνατότητα να επικοινωνήσουν απευθείας με το hardware μέσω του hypervisor. Μικρή βάση του κώδικα ο Xen hypervisor περιέχει ένα πολύ μικρό code footprint πράγμα που περιορίζει το διαθέσιμο χώρο για επιθέσεις. Διαχωρισμός του λειτουργικού συστήματος Διαχωρίζοντας τον hypervisor από το λειτουργικό σύστημα ο Xen hypervisor δεν μπορεί να χρησιμοποιηθεί για την επίθεση στο λειτουργικό σύστημα επειδή απλά δεν υπάρχει το λειτουργικό σύστημα για να γίνει η επίθεση. 57

58 Η κοινότητα του Xen.org δουλεύει επίσης σε στενή συνεργασία με το The Invisible Things Lab το οποίο εστιάζει αποκλειστικά στις πιο απαιτητικές σε ανάγκες ασφάλειας υπολογιστικές υποδομές. Πιο συγκεκριμένα χρησιμοποιώντας τον Xen hypervisor έχουν γίνει επιθέσεις για να διαπιστωθούν από ειδικούς του είδους που υπάρχουν τρύπες στην ασφάλεια οι οποίες εφόσον εντοπιστούν αντιμετωπίζονται. Επίσης το Invisible Things Lab έχει αναπτύξει ένα ολόκληρο λειτουργικό σύστημα open source που εστιάζει στην ασφάλεια, το Qubes OS, αξιοποιώντας τον Xen hypervisor σαν το θεμέλιο τους για virtualization. Performance Είναι δύσκολο να παρουσιαστεί έγκυρα η απόδοση του hypervisor μέσω στατιστικών καθώς υπάρχουν πολλά κριτήρια και σημεία αναφοράς διαθέσιμα τα οποία όμως δεν είναι καθολικά στις μεθοδολογίες και στις μετρήσεις τους. Εξαιτίας αυτού θα παρουσιαστούν μερικοί λόγοι για τους οποίου ο Xen hypervisor βασικά μειώνει τον χρόνο επεξεργασίας την χρήση της μνήμης και την αποτελεσματικότητα του δικτύου. Paravirtualization: Δημιουργήθηκε από τους ιδρυτές του Xen hypervisor και επιτρέπει στα guest λειτουργικά τη συνεργασία με τον hypervisor για την συνολική βελτίωση στην απόδοση για τις Ι/Ο, τη CPU, και την virtualization της μνήμης. Αποκτώντας τη γνώση ένα λειτουργικό σύστημα ότι εκτελείται πάνω σε μια πλατφόρμα virtualization, τα τροποποιημένα λειτουργικά μπορούν να βοηθήσουν τον hypervisor σε μια πλειάδα έργων. Όλες οι διανομές Linux πλέον υποστηρίζουν την paravirtualization εξ αρχής αλλά και οι οδηγοί για paravirtualized Windows guests είναι πλέον διαθέσιμοι στην κοινότητα του Xen.org. Η τεχνολογία Pass-through επιτρέπει στους guest να μιλούν απευθείας με κάποιο κομμάτι του hardware χωρίς να χρειάζεται να μεσολαβήσει στην επικοινωνία αυτή ο Domain0. Το να επιτρέπεται η απευθείας πρόσβαση στο hardware βελτιώνει πολύ σημαντικά τον χρόνο απόκρισης του guest, και μειώνει το χρόνο επεξεργασίας του Domain 0 σαν μεσάζοντα για αυτές τις υποθέσεις, μειώνοντας έτσι και το φόρτο στα queues του Domain0. Βέβαια η ασφάλεια διατηρείται καθώς τα συγκεκριμένα προνόμια εξακολουθούν να είναι μειωμένα ώστε τα VM να μην αλληλεπιδρούν μεταξύ τους. Όπως ειπώθηκε, η ύπαρξη του hypervisor ξεχωριστά από το 58

59 λειτουργικό σύστημα εξασφαλίζει επίσης μέγιστη απόδοση. Όπως είναι λογικό ένα λειτουργικό σύστημα κατά την εκτέλεση του έχει ένα μεγάλο αριθμό από διεργασίες που πρέπει να επιτελέσει. Η πλειοψηφία αυτών των ενεργειών δεν σχετίζονται με τους virtualized guests και επομένως επιδρά αυτή η κατάσταση και στη συνολική απόδοση του συστήματος. Ο Xen hypervisor δύναται να επεξεργαστεί τους virtualized guests χωρίς καμία επιβάρυνση του λειτουργικού συστήματος και μπορεί συγκεκριμένα να ρυθμιστεί έτσι ώστε να γίνεται η επεξεργασία σύμφωνα με τις απαιτήσεις του χρήστη δίνοντας βέβαια την αντίστοιχη προτεραιότητα στις απαιτήσεις αυτές και στις απαιτήσεις του guest. O χρονοπρογραμματιστής (scheduler) στο εσωτερικό του Xen είναι επίσης σχεδιασμένος για τις ανάγκες ενός Virtualized περιβάλλοντος βεβαιώνοντας έτσι ότι η υποδομή του Xen είναι διαθέσιμη να απαντήσει με τον καλύτερο τρόπο τις προσδοκίες του χρήστη. Χαρακτηριστικά απεύθυνσης και στήριξης του Xen.org Open-source κοινότητα με συμμετέχοντες τους μεγαλύτερους κατασκευαστές CPY (AMD, Intel) με τη δυνατότητα για paravirtualization και hardware Virtualization δίνει τη δυνατότητα για μέγιστη εκμετάλλευση των τελευταίων τεχνολογικών επιτευγμάτων σε επίπεδο virtualization αλλά και hardware. Η κοινότητα υποστηρίζεται επίσης και από ακαδημαϊκά ιδρύματα με ιδέες που δοκιμάζονται και ενσωματώνονται στον hypervisor. Σημαντικό παράδειγμα η πρόσφατη ενσωμάτωση του project Remus του πανεπιστημίου British Columbia. Σχετίζεται άμεσα με την τεχνολογία του Cloud computing. Με τις μεγαλύτερες εταιρίες στον τομέα (Amazon, Cloud.com, GoGrid, Rackspace) να χρησιμοποιούν όλες το Xen η κοινότητα μπορεί να εγγυηθεί την επεκτασιμότητα που μπορεί να παρέχει ο hypervisor του Xen. Έχει αναπτυχθεί και είναι πλέον διαθέσιμη και η πλατφόρμα Cloud από το Xen που ονομάζεται Xen Cloud Platform (XCP). Είναι ο πρώτος open-source hypervisor που ήταν διαθέσιμος για την εφαρμογή του σε μεγάλα επιχειρησιακά περιβάλλοντα και έχει ενσωματωθεί επιτυχώς από: μεγάλους οργανισμούς έκδοσης Linux, εταιρίες λογισμικού/hardware (Avaya, Cisco, Citrix, Fujitsu, Lenovo, Novell, Oracle, Samsung, VALinux, and others. Cloud providers including Amazon, Cloud.com, GoGrid, Rackspace), και άλλους πελάτες παγκοσμίως που χρησιμοποιούν τεχνικές Virtualization. 59

60 Η κοινότητα των προγραμματιστών είναι παγκόσμια και απαρτίζεται από συνεταιρικούς προγραμματιστές, πανεπιστημιακούς ερευνητές και τεχνολόγους της Virtualization. Εκδίδονται περίπου 250 patch το μήνα. Υποστηρίζεται από το Xen Advisory Board (Citrix, Fujitsu, HP, IBM, Intel, Novell, Oracle, and VA Linux Systems Japan) 3.3: E U C A L Y P T U S - Elastic Utility Computing Architecture Linking Your Programs To Useful Systems [20][21][22] Το Eucalyptus είναι ένα open source λογισμικό υποδομής για την υλοποίηση on-premise (σε ιδιόκτητους server και όχι online) Clouds σε ήδη υπάρχον εγκαταστάσεις πληροφορικής μιας εταιρίας ή εταιρικού περιβάλλοντος. Στο εξής παρουσιάζεται το Eucalyptus από μια τεχνική αλλά και επαγγελματική σκοπιά, έτσι ώστε να δοθεί μια πλήρης εικόνα για την αρχιτεκτονική του, αλλά και του επαγγελματικού σκοπού που μπορεί να εκπληρώσει. Το Eucalyptus κάνει δυνατή την εφαρμογή hybrid Cloud και private Cloud για επιχειρησιακά data centers και δεν απαιτεί καμία αναδιάταξη του ήδη υπάρχοντος hardware. Αξιοποιώντας τεχνολογίες web service αλλά και τα Linux που υπάρχουν κατά κόρον στα σημερινά data centers, το Eucalyptus επιτρέπει στους πελάτες του να δημιουργήσουν on premise Clouds εύκολα τα οποία θα είναι προσαρμοσμένα στις συγκεκριμένες υπάρχουσες ανάγκες. Την ίδια στιγμή το Eucalyptus υποστηρίζει τη δημοφιλή AWS διεπαφή για Clouds επιτρέποντας έτσι στα on premise Clouds να επικοινωνούν με τα public Clouds χρησιμοποιώντας μια απλή προγραμματιστική διεπαφή. Μαζί με τη διαχείριση των εικονικών μηχανών, η τεχνολογία επιτρέπει την ασφαλή Virtualization του δικτύου και της υποδομής για αποθήκευση στο εσωτερικό του περιβάλλοντος του Cloud. To Eucalyptus είναι συμβατό και διαθέσιμο μέσω πακέτων εγκατάστασης με πολλές εκδόσεις των Linux ανάμεσα στις οποίες Ubuntu, RHEL, OpenSuse, Debian, Fedora και CentOS και μπορεί να συνεργαστεί με ένα σημαντικό αριθμό hypervisors και τεχνικών virtualization. Στα Eucalyptus Systems, αναπτύσσουμε τεχνολογικές λύσεις για επιχειρήσεις, οι οποίες χτίζονται πάνω στον πυρήνα του λογισμικού του open-source Eucalyptus. Η τεχνολογία του Eucalyptus γίνεται γρήγορα δεδομένη για την υλοποίηση των on-premise Cloud computing, διανέμοντας τις βελτιώσεις αποδοτικότητας σε σχέση με το κόστος την επεκτασιμότητα των Cloud 60

61 μαζί με την ασφάλεια και τον έλεγχο που συνυπάρχει με την ιδιοκτησία υποδομών πληροφορικής από έναν οργανισμό. Το Enterprise Eucalyptus μπορεί να παρέχει δυνατότητες όπως έναν παραμετροποιήσιμο τελικό χρήστη, self-service φροντίδα του συστήματος, τροποποιημένες service level agreements (SLAs), παρακολούθηση του Cloud, μετρήσεις και υποστήριξη της αυτόματης επέκτασης, σαν μια Cloud πλατφόρμα υψηλής διαθεσιμότητας : Η τεχνολογία του. Το Eucalyptus έχει σχεδιαστεί από την αρχή του να είναι εύκολο στην εγκατάσταση του και όσο λιγότερο παρεμβατικό γίνεται. Το πλαίσιο στο οποίο στηρίζεται το λογισμικό είναι ένα σύνολο συνεργατικών web services οι οποίες διαλειτουργούν (interoperate) χρησιμοποιώντας ορισμένα πρωτόκολλα επικοινωνίας. Δια μέσω αυτού του πλαισίου εκτελεί τις εικονικές μηχανές και χρησιμοποιεί τους αποθηκευτικούς πόρους που διασυνδέονται μέσω ενός απομονωμένου δικτύου επιπέδου-2. Από την άποψη του client, ή από την άποψη του χρήστη, το API του Cloud είναι συμβατό με το AWS της Amazon (και η SOAP και η REST διεπαφές υποστηρίζονται) αν και άλλες διεπαφές είναι διαθέσιμες για παραμετροποίηση. Εικόνα 14: Αρχιτεκτονική Eucalyptus 61

62 3.3.2: Τα στοιχεία που απαρτίζουν το Eucalyptus. Κάθε στοιχείο των υπηρεσιών του Eucalyptus εκθέτει ένα καλώς ορισμένο API με τη μορφή WSDL αρχείου που περιέχει και τις λειτουργίες που η υπηρεσία μπορεί να εκτελέσει και την μορφή εισόδου/εξόδου των δεδομένων. Η authentication (αναγνώριση ταυτότητας) μμεταξύ των υπηρεσιών γίνεται μέσω μηχανισμών ασφάλειας WS-Security. Υπάρχουν πέντε στοιχεία υψηλού επιπέδου κάθε ένα από τα οποία έχει τη δική του διεπαφή web-service, που όλα μαζί συμπεριέχονται σε μια εγκατάσταση του Eucalyptus. Ακολουθεί μια σύντομη περιγραφή των στοιχείων αυτών. Εικόνα 15: Μια τυπική εγκατάσταση του Eucalyptus και παρουσίαση των συνιστωσών Cloud Controller (CLC) Κάθε εγκατάσταση του Eucalyptus περιλαμβάνει μια και μοναδική εγκατάσταση του Cloud Controller (CLC) η οποία και είναι το ορατό από το χρήστη σημείο εισόδου και το στοιχείο που αναλαμβάνει το καθολικό ρόλο αποφάσεων μιας εγκατάστασης του Eucalyptus. Ο CLC είναι υπεύθυνος για την επεξεργασία των εισερχόμενων αιτημάτων που προέρχονται από αιτήματα χρηστών ή και διαχειριστών, παίρνει αποφάσεις υψηλού επιπέδου για τον προγραμματισμό των στιγμιοτύπων των VM, επεξεργασία των service-level agreements (SLAs) και διατήρηση των απαραίτητων δεδομένων του χρήστη και του συστήματος. Ο CLC απαρτίζεται και ο ίδιος από ένα σύνολο υπηρεσιών που μπορούν να χειριστούν τα εισερχόμενα αιτήματα από χρήστες, το authentication, τα metadata χρήστη και συστήματος (π.χ. VM images, ssh κλειδιά) και τη διαχείριση και έλεγχο των στιγμιοτύπων των VM. Οι υπηρεσίες ρυθμίζονται και διαχειρίζονται από έναν enterprise service bus (ESB) που δημοσιεύει υπηρεσίες και μεσολαβεί στα αιτήματα χρήστη ενώ αποσυνδέει την υλοποίηση των υπηρεσιών από τα μηνύματα για routing και τις λεπτομέρειες μεταφορών. Ο σχεδιασμός αυτός εστιάζει στην διαφάνεια και την απλότητα έτσι ώστε να καλύπτονται και οι χρήσεις για πειραματισμό και επέκταση του Eucalyptus, και με ιδιαίτερο 62

63 σεβασμό στην συμπεριφορά του Cloud. Για να επιτευχθεί η επεκτασιμότητα σε αυτό το επίπεδο η υποδιαίρεση, τα αρχιτεκτονικά συστατικά του CLC (περιλαμβάνοντας αλλά όχι περιορίζοντας στον χρονοπρογραμματιστή (scheduler) των VM, την μηχανή SLA, και τις διεπαφές χρηστών και διαχειριστών), αυτά αποκλείονται αμοιβαία πίσω από καλώς ορισμένες εσωτερικές διεπαφές όπου ο ESB χειρίζεται την ενορχήστρωση τους. Με αυτό σαν βάση, ο CLC μπορεί να λειτουργήσει παρόμοια με το Amazon EC2 διαλειτουργώντας με εργαλεία πελάτη (σημείωση πρωτοτύπου: interoperate with EC2 client tools) EC2 χρησιμοποιώντας και web intefaces και Query interfaces. Έχει επιλεγεί το EC2 γιατί είναι σχετικά ώριμο, έχει ήδη μια αρκετά ευρεία κοινότητα χρηστών και επειδή εισάγει μια πολύ καλή και καλά ορισμένη υλοποίηση της λειτουργικότητας του IaaS. Ωστόσο η διεπαφή αυτή μπορεί να τροποποιηθεί και να τμηματοποιηθεί να είναι συμβατή και με άλλες, επιτρέποντας έτσι την εξομοίωση και άλλων υποδομών Cloud, αλλά και να υπάρχει η δυνατότητα τροποποίησης από το χρήστη. Cluster Controller (CC) Ένα σύνολο από Node Controllers που είναι στην ίδια λογική περιοχή (π.χ. Δίκτυο) αναφέρονται σε έναν Cluster Controller και τυπικά εκτελούνται σε μια κεντρικό κόμβο του Cluster ή ενός server που έχει τη δυνατότητα να επικοινωνεί και με τα δημόσια αλλά και τα ιδιωτικά δίκτυα. Ο CC είναι υπεύθυνος για τη συλλογή των πληροφοριών κατάστασης από ολόκληρη τη συλλογή των NC, προγραμματίζει τα εισερχόμενα αιτήματα για την εκτέλεση των VM και τη διαχείριση των δικτύων για τα στιγμιότυπα των VM, ιδιωτικά και δημόσια. Η WSDL που περιγράφει τη διεπαφή του CC είναι παρόμοια με τη διεπαφή του NC, εκτός του ότι κάθε λειτουργία απευθύνεται στον πληθυντικό (runinstances, describeinstances, terminateinstances, describeresources). Η λειτουργίες περιγραφής και ο τερματισμού των VM είναι πάρα πολύ απλά μια μεταβίβαση προς το αντίστοιχο module του NC. Όταν ο CC δέχεται ένα runinstances αίτημα εκτελείται μια απλή διεργασία χρονοπρογραμματισμού για τον προσδιορισμό του ποιος NC θα μπορέσει να καλύψει αυτό το αίτημα. Αυτό γίνεται εφικτό με την κλήση κάθε NC για describeresource και η επιλογή γίνεται στον πρώτο NC που είναι διαθέσιμοι πόροι. Επίσης ο CC εκτελεί μια λειτουργία describeresources, αλλά αντί να αναφέρει τους φυσικούς διαθέσιμους πόρους, αυτή η λειτουργία παίρνει σαν δεδομένα-είσοδο μια περιγραφή των πόρων που ένα instance θα καταλάμβανε και επιστρέφει τον αριθμό των instance που μπορούν ταυτόχρονα να εκτελεστούν στον συγκεκριμένο NC. 63

64 Node Controller (NC) O Node Controller (NC) είναι το στοιχείο που εκτελείται στους πραγματικούς πόρους που θα φιλοξενήσουν και τα στιγμιότυπα των VM και είναι υπεύθυνο για την εκκίνηση των στιγμιοτύπων, την επιθεώρηση τους κατά τη λειτουργία, τον τερματισμό και την εκκαθάριση τους. Σε μια τυπική εγκατάσταση του Eucalyptus υπάρχουν κανονικά πολλοί NC αλλά μόνο ένας χρειάζεται να εκτελείται ανά φυσικό server, από τη στιγμή που ένας NC Μπορεί να εκτελέσει πέραν της μίας εικονικής μηχανής σε ένα φυσικό μηχάνημα. Η διεπαφή του NC περιγράφεται επίσης από ένα WSDL αρχείο που ορίζει την δομή των δεδομένων των στιγμιοτύπων και τις ενέργειες ελέγχου που ο ΝC υποστηρίζει (runinstance, describeinstance, terminateinstance, describeresource και startnetwork). Οι λειτουργίες run, describe και terminate σε ένα στιγμιότυπο χρειάζονται πολύ μικρό στήσιμο στα στιγμιότυπα και ακολουθούνται από κλήσεις του υποκείμενου hypervisor για τον έλεγχο των μηχανημάτων που εκτελούνται. Η describeresource λειτουργία αναφέρει δεδομένα εκείνης της στιγμής για τα χαρακτηριστικά των φυσικών πόρων (πυρήνες επεξεργαστή, μνήμη, χωρητικότητα στο δίσκο) σε αυτό το στοιχείο που έχει πραγματοποιήσει την κλήση. Η λειτουργία startnetwork στήνει και σχηματίζει το εικονικό Ethernet δίκτυο. Storage Controller (SC) Ο Storage Controller υλοποιεί μια block-accessed δικτυακή αποθήκευση (π.χ. Amazon Elastic Block Storage -- EBS) και δύναται να αλληλεπιδράσει με διάφορα συστήματα αποθήκευσης (NFS, iscsi). Ένα elastic block store είναι ένα Linux block device που μπορεί να προσαρτηθεί σε μια εικονική μηχανή αλλά στέλνει την κίνηση του δίσκου δια μέσω του τοπικά προσαρτημένου δικτύου σε μια απομακρυσμένη τοποθεσία. Ένα EBS volume δεν μπορεί να μοιραστεί ανάμεσα σε πολλά στιγμιότυπα, αλλά επιτρέπει την δημιουργία ενός snap-shot (φωτογραφία ακριβές αντίγραφο) το οποίο μπορεί να αποθηκευτεί σε ένα σύστημα που καλείται Walrus και είναι η αποθηκευτική υπηρεσία του Eucalyptus. 64

65 Walrus (put/get storage) Επιτρέπει στους χρήστες να αποθηκεύσουν δεδομένα οργανωμένα σε ομάδες που λέγονται buckets. Επιτρέπει τη δημιουργία, διαγραφή, την προβολή σε λίστα των buckets, την τοποθέτηση αλλά και την ανάκτηση δεδομένων, τη διαγραφή αντικειμένων και τη δημιουργία πρόσβασης με ελεγχόμενο τρόπο. Ο Walrus είναι ένα σύστημα που είναι συμβατό με το Amazon S3 και υποστηρίζει την Amazon Macine Image (AMI) διεπαφή ελέγχου images, παρέχοντας έτσι ένα μηχανισμό για την αποθήκευση και την πρόσβαση και στα images των εικονικών μηχανών αλλά και στα δεδομένα χρήστη : Virtual Networking Ίσως μια από τις πιο ενδιαφέρουσες προκλήσεις κατά το σχεδιασμό μιας Cloud Computing πλατφόρμας είναι η συνδεσιμότητα μεταξύ των στιγμιοτύπων των VM. Ένα πολύ θελκτικό χαρακτηριστικό των Cloud συστημάτων είναι ότι παρά την πολυπλοκότητα τους περιορισμούς που μπορεί να παρουσιάζει η υποκείμενη πραγματική τοπολογία δικτύωσης, το τελικό αποτέλεσμα που θα παρουσιαστεί στο χρήστη μπορεί να απλοποιηθεί πάρα πολύ μέσω τεχνικών virtualization. Κατά το σχεδιασμό του Eucalyptus δόθηκε έμφαση στη συνδεσιμότητα, την απομόνωση και την απόδοση, στη λύση που έπρεπε να παρουσιαστεί για το δίκτυο των στιγμιοτύπων των VM. Πρώτα και κυριότερα κάθε εικονική μηχανή που το Eucalyptus ελέγχει πρέπει να έχει αποτελεσματική σύνδεση με τις υπόλοιπες εικονικές μηχανές και μερικά να έχει σύνδεση στο διαδίκτυο (χρησιμοποιείται η λέξη μερικά γιατί από μια ομάδα μηχανημάτων είναι αναγκαίο τουλάχιστον ένα να έχει πρόσβαση στο διαδίκτυο, έτσι ώστε ο χρήστης να μπορεί να πάρει τον έλεγχο του, και μέσω αυτού και τα υπόλοιπα. Επειδή οι χρήστες παίρνουν πρόσβαση σαν υπερχρήστες στα VM, παίρνουν αυτόματα τα δικαιώματα για την τροποποίηση και του δικτύου τους. Αυτή η δυνατότητα μπορεί να δημιουργήσει θέματα ασφάλειας γιατί ένας χρήστης ενός VM με την αλληλεπίδραση του με το δίκτυο όλων των VM ενδέχεται να οδηγήσει σε conflicts μετά την απόκτηση μιας IP ή MAC address. Επιπλέον αν δυο μηχανήματα τρέχουν στον ίδιο φυσικό server ένας χρήστης με μπορεί να πάρει τη δυνατότητα και να κρυφακούει μεταφερόμενα πακέτα από το δίκτυο άλλου VM. Αυτός είναι και ο λόγος που VM τα οποία ανήκουν σε μια ομάδα πρέπει να επικοινωνούν μεταξύ τους, αλλά να είναι απομονωμένα από μηχανήματα άλλων ομάδων. Πρέπει να σημειωθεί ότι στις παροχές των σημερινών hypervisors δεν ανήκει ακόμα η άμεση ομαδοποίηση. Τελικά ένας από τους λόγους που τεχνικές virtualization χτίζουν τώρα ένα κοινό υποστηρικτικό γύρω τους, είναι ότι το κόστος σε απόδοση της virtualization έχει μειωθεί σημαντικά μέσα στα τελευταία χρόνια 65

66 συμπεριλαμβάνοντας μέσα σε αυτά και τις εικονικές διεπαφές δικτύου. Ο σχεδιασμός του Eucalyptus προσπαθεί να έχει απόδοση στο δίκτυο μεταξύ των VM όσο γίνεται πιο κοντά στην native απόδοση του δικτύου. Κάθε στιγμιότυπο που ελέγχεται από το Eucalyptus παίρνει δυο εικονικές διεπαφές δικτύου. Η μια αναφέρεται σαν public (δημόσια) και η άλλη σαν private (ιδιωτική). Στην public ανατίθεται ο ρόλος της διαχείρισης της επικοινωνίας με το έξω από το σύνολο των VM instances και μεταξύ instances που ανήκουν στην ίδια availabilty zone όπως ορίζεται από την SLA. Για παράδειγμα σε ένα περιβάλλον που υπάρχουν διαθέσιμες public IP, αυτές μπορούν να ανατεθούν σε ένα instance κατά την εκκίνηση του, επιτρέποντας έτσι την επικοινωνία από και προς το instance. Σε περιβάλλοντα όπου τα instances είναι συνδεδεμένα με ένα ιδιωτικό δίκτυο μέσω ενός router που υποστηρίζει την εξωτερική επικοινωνία μέσω NAT, η pulic διεπαφή μπορεί να ανατεθεί σε μια έγκυρη private διεύθυνση δίνοντας πρόσβαση σε συστήματα έξω από το τοπικό δίκτυο μέσω αυτού του NAT-enabled router. Η private διεπαφή ωστόσο του instance χρησιμοποιείται μόνο για επικοινωνία μεταξύ των instances στο εσωτερικό της ίδιας ζώνης και χειρίζεται την κατάσταση όπου δύο instances βρίσκονται σε διαφορετικές ζώνες αλλά υπάρχει ανάγκη επικοινωνίας μεταξύ τους. Η ακόλουθη εικόνα περιγράφει την public interface του instance όπως συνδέεται με το public δίκτυο μέσω μιας γέφυρας η οποία είναι συνδεδεμένη στην πραγματική interface. Εικόνα 16: Σύνδεση public interface του instance με το public δίκτυο 66

67 Μέσα στο Eucalyptus, ο Cluster Controller χειρίζεται το στήσιμο αλλά και την καταστροφή των εικονικών δικτύων. Ο CC μπορεί να ρυθμιστεί για τη δημιουργία της public interface με τρεις τρόπους αντιστοιχίζοντάς τους με τα τρία κοινά περιβάλλοντα τα οποία υποστηρίζει το Eucalyptus. Το πρώτο στήσιμο δίνει την οδηγία στο Eucalyptus να προσαρτήσει την public interface του VΜ απευθείας σε μια software Ethernet bridge που είναι συνδεδεμένη με το πραγματικό δίκτυο του μηχανήματος, επιτρέποντας έτσι στο διαχειριστή να διαχειρίζεται το δίκτυο των VM μέσω DHCP requests με τον κλασικό τρόπο. Το δεύτερο στήσιμο επιτρέπει στο διαχειριστή να προσδιορίσει μια ομάδα από IP διευθύνσεις οι οποίες θα προσδοθούν μέσω ενός DHCP server που εκτελείται στον CC. Με αυτό το στήσιμο ο διαχειριστής ορίζει ένα δίκτυο, μια διεπαφή του CC που είναι συνδεδεμένη σε αυτό το δίκτυο και ένα εύρος διευθύνσεων που αναθέτονται δυναμικά στα instances κατά την εκκίνησή τους. Ο τρίτος και τελευταίος τρόπος που υποστηρίζεται επιτρέπει στο διαχειριστή να ορίσει μια στατική ομάδα από ζεύγη MAC και IP διευθύνσεων. Σε αυτό το στήσιμο κατά τη δημιουργία ενός νέου instance του δίνεται ένα διαθέσιμο ζεύγος MAC/IP το οποίο απελευθερώνεται και κατά τον τερματισμό του instance. H private interface του instance συνδέεται μέσω μιας γέφυρας σε ένα σύστημα λογισμικού εικονικού Ethernet που ονομάζεται Virtual Distributed Ethernet (VDE). Το VDE είναι μια υλοποίηση σε επίπεδο επεξεργασίας του πρωτοκόλλου Ethernet, όπου οι χρήστες μπορούν να ορίσουν και να χειριστούν εικονικά Ethernet switch και καλώδια που υλοποιούνται σαν προγράμματα τα οποία εκτελούνται σε περιβάλλον χρήστη. Όταν ένα VDE δίκτυο δημιουργηθεί οι συνδέσεις στα πραγματικά δίκτυα Ethernet εδραιώνεται μέσω μιας Universal TUN/TAP διεπαφής η οποία στην ουσία παρέχει επικοινωνία μέσω πακέτων Ethernet μεταξύ του Linux kernel και των εφαρμογών σε περιβάλλον χρήστη. Όταν ένα σύστημα Eucalyptus εκκινεί, στήνει ένα VDE δίκτυο το οποίο αποτελείται από ένα switch ανά CC και NC και όσα VDE καλώδια μπορεί να υφίστανται μεταξύ αυτών των switch. Αν δεν υπάρχουν firewalls στο φυσικό δίκτυο, το VDE δίκτυο θα είναι πλήρως συνδεδεμένο και κάθε VDE switch θα είναι συνδεδεμένο με όλα τα όμοιά του. Τα VDE switch υποστηρίζουν το spanning tree protocol (STP) το οποίο επιτρέπει σε πλεονάζοντες συνδέσμους να υπάρχουν ενώ αποτρέπει και τα loops στο δίκτυο δίνοντας έτσι στο VDE δίκτυο ένα επίπεδο πλεονασμού όταν τα switch είναι πλήρως συνδεδεμένα. Ωστόσο, από τη στιγμή που οι NC ενδέχεται να βρίσκονται πίσω από κάποιο firewall, η μόνη απαίτηση είναι ότι κάθε VDE switch θα είναι συνδεδεμένο με ένα τουλάχιστον όμοιό του περιορισμός που συνήθως καλύπτεται από την σύνδεση που υπάρχει έτσι κι αλλιώς για τον NC και είναι με τον CC. Κατά τη διάρκεια εκτέλεσης του instance, ο NC που είναι υπεύθυνος για τον έλεγχο του VM δημιουργεί μια γέφυρα που συνδέεται στο τοπικό VDE switch και ρυθμίζει το instance ώστε να προσαρτήσει την private interface στη νέα γέφυρα. Σε αυτό το σημείο η αρχική απαίτηση της συνδεσιμότητας του 67

68 instance έχει ικανοποιηθεί, επειδή οποιοδήποτε VM εκκινήσει σε οποιονδήποτε συνδεδεμένο σε VDE NC θα μπορεί να επικοινωνήσει με οποιοδήποτε άλλο VM μέσω του virtual Ethernet, άσχετα με το πραγματικό υποκείμενο φυσικό δίκτυο. Υποστηρίζεται βέβαια και ο ορισμός από το διαχειριστή ενός υποδικτύου κλάσης Β ΙΡ το οποίο θα χρησιμοποιηθεί από instances που συνδέονται στο private δίκτυο, και σε κάθε νέο instance ανατίθεται μια δυναμική ΙΡ διεύθυνση από το συγκεκριμένο υποδίκτυο. Η δεύτερη απαίτηση του εικονικού δικτύου είναι να υποστηρίζει την απομόνωση της κίνησης δικτύου του instance. Απαιτείται το αν δυο διαφορετικά instances, τα οποία ανήκουν σε διαφορετικούς χρήστες, τρέχουν είτε στον ίδιο είτε σε διαφορετικό host και είναι συνδεδεμένα στο ίδιο φυσικό Ethernet, να μην παρέχεται η δυνατότητα σε κανένα από τα δύο να μπορεί να επιθεωρήσει η να παρέμβει και να τροποποιήσει την κίνηση του δικτύου του άλλου. Για να επιτευχθεί αυτή η απαίτηση, σε κάθε σύνολο από instances που ανήκει σε ένα συγκεκριμένο χρήστη να ανατίθεται μια ετικέτα (tag) η οποία στη συνέχεια χρησιμοποιείται σαν ένδειξη για το virtual local area network (VLAN) που έχει ανατεθεί και έχει δημιουργηθεί για τα instances του συγκεκριμένου χρήστη. Όταν ένα VLAN identifier έχει ανατεθεί όλα τα VDE switch ports που συνδέονται στις private interfaces του instance στήνονται έτσι ώστε να τοποθετούν την ετικέτα με την ταυτότητα του VLAN σε όλα τα εισερχόμενα πακέτα και να προωθούν μόνο τα πακέτα τα οποία έχουν την ίδια ετικέτα. Έτσι, η κίνηση ενός συνόλου από instances θα προωθηθεί σε VDE ports που μόνο instances από την ίδια ομάδα είναι προσαρτημένα, και όλη η κίνηση που παράγει αυτή η ομάδα θα πάρει την ετικέτα με τον VLAN identifier στο επίπεδο του virtual switch απομονώνοντας έτσι την κίνηση ακόμα και αν τα δυο instances εκτελούνται πάνω στον ίδιο φυσικό host. Η εικόνα που ακολουθεί δείχνει πως δυο instances, του χρήστη Α και του χρήστη Β που εκτελούνται στους ίδιους φυσικούς πόρους, συνδέονται στο ίδιο VDE δίκτυο δια μέσω ports τα οποία είναι παραμετροποιημένα έτσι ώστε να προωθούν μόνο την κίνηση που είναι βασισμένη σε ένα συγκεκριμένο VLAN που έχει ανατεθεί σε ένα συγκεκριμένο VM. Εικόνα 17: VLAN tagging και απομόνωση μεταξύ instances που δεν πρέπει να επικοινωνούν 68

69 3.3.4: Eucalyptus Configuration Με αυτά τα συστατικά το Eucalyptus μπορεί να παραμετροποιηθεί ώστε να υποστηρίζει μια πλατιά ποικιλία από χαρακτηριστικά υποδομών και τοπολογίες. Για παράδειγμα υπάρχουν 4 διαφορετικές λειτουργίες δικτύωσης κάθε μια από τις οποίες απαντά σε ένα διαφορετικό επίπεδο ασφάλειας και παρεμβατικότητας, επιτρέποντας έτσι στον διαχειριστή του συστήματος να ρυθμίσει κάθε παράμετρο του Cloud ώστε να απαντά στην τοπική πολιτική που ακολουθείται και στις ανάγκες της διαχείρισης. Είναι επίσης εφικτό να εφαρμοστεί το Eucalyptus ώστε να περιέχει διαφορετικούς hypervisors και τεχνικές Virtualization στα πλαίσια ενός ενοποιημένου Cloud που θα παρουσιάζει προς τα έξω ένα και μόνο API. Έτσι το Eucalyptus μπορεί να χρησιμοποιηθεί και σαν μια πλατφόρμα που μπορεί να ενοποιήσει ένα σύνολο από τεχνολογίες (κάθε μια σε ένα δυνητικά διαφορετικό σημείο του κύκλου της ζωής τους σε ένα data center) σε ένα και μόνο Cloud : Πλεονεκτήματα Το Eucalyptus κάνει δυνατή τη virtualization των server, του δικτύου και της αποθήκευσης με έναν ασφαλή τρόπο, με μειωμένο κόστος και παρέχοντας μια δυνατότητα για selfservice του χρήστη. Ο αρθρωτός σχεδιασμός του Eucalyptus ενεργοποιεί μια ποικιλία από διεπαφές χρήστη προσφέροντας έτσι τα οφέλη της virtualization σε μια πλατιά ποικιλία χρηστών, (admins, developers, managers, hosting customers) και παρέχει μια πλατφόρμα στους παρόχους υπηρεσιών για να σχεδιάσουν κερδοφόρα τιμολογιακά μοντέλα βασισμένα στην κατανάλωση. Η δυνατότητα για VM και Cloud snapshot παρέχει ένα συμπαγές σύνολο από δυνατότητες για την αύξηση της αξιοπιστίας των Cluster, τη διαχείριση προτύπων και την αυτοματοποίηση. Αυτό καθιστά το Cloud εύκολο στη χρήση και μειώνει το μέσο χρόνο που είναι απαραίτητος για το μέσο χρήστη να μάθει να χρησιμοποιεί την τεχνολογία μειώνοντας επίσης και το χρόνο που χρειάζεται για την εναλλαγή ανάμεσα σε projects. Αξιοποιώντας υπάρχουσες τεχνολογίες virtualization υποστηρίζει πολλαπλά λειτουργικά συστήματα βασισμένα σε Linux και πολλούς hypervisors. Η ευκολία της διαχείρισης των Cluster/availability-zone παρέχει στον διαχειριστή και στο χρήστη ένα πλήθος δυνατοτήτων για τη δημιουργία λογικών ομάδων από servers, αποθηκευτικών 69

70 ομάδων, και δικτύων σε μια βάση που μπορεί να είναι ανά project, ανά χρήστη, ανά πελάτη ή ανά ομάδα. Ο πυρήνας του σκελετού του Eucalyptus θα συνεχίσει να είναι open-source. Αυτό παρέχει στους χρήστες την πρόσβαση στον πηγαίο κώδικα και τη δυνατότητα να αξιοποιήσουν τη συνεισφορά μιας παγκόσμιας κοινότητας προγραμματιστών. Η συνεχιζόμενη προσπάθεια για τη δημιουργία διεπαφών που θα είναι συμβατές με τα public - Clouds είναι ένα μοναδικό πλεονέκτημα για τους χρήστες που σκοπεύουν να έχουν τη δυνατότητα να επεκτείνουν το private Cloud τους σε απαιτήσεις φορτίου αιχμής με την ένωση με ένα public - Cloud (γνωστό επίσης και με τον όρο hybrid - Cloud που είναι η υλοποίηση μιας συνεργασίας ενός private on-premise Cloud με ένα public). Ένα πολύ ζωντανό οικοσύστημα χτισμένο γύρω από το Amazon AWS μπορεί να αξιοποιηθεί. Για παράδειγμα οι RightScale, CohesiveFT, Zmanda, rpath είναι λίγοι από τους συνεργάτες που διανέμουν λύσεις για την Amazon AWS που με τη σειρά τους μπορούν να λειτουργήσουν απρόσκοπτα και με το Eucalyptus. 70

71 Κεφάλαιο 4 4. Διαδικασία στησίματος και υλοποίησης μιας πλατφόρμας Cloud Computing Μετά από τη παρουσίαση που έχει γίνει στην τεχνολογία του Virtualization και του Cloud Computing αλλά και εργαλείων που τα υλοποιούν είναι αναγκαίο να παρουσιαστεί και η λογική με την οποία μπορούν να εφαρμοστούν για τη δημιουργία ενός κόμβου που μπορεί να προσφέρει Cloud-based υπηρεσίες. Τα ερωτήματα τα οποία γίνεται προσπάθεια να καλυφθούν σε αυτό το κεφάλαιο είναι τα εξής. 1. Ποια είναι η ανάγκη, το πρόβλημα ή το κενό που παρουσιάστηκε; 2. Ποια είναι η απάντηση ή λύση που δίνεται στο παραπάνω ερώτημα; 3. Με ποια υλοποίηση θα προσφέρουμε την συγκεκριμένη λύση; 4. Ποιες είναι οι δυνατότητες επέκτασης των δυνατοτήτων της υποδομής που θα σχεδιαστεί; 4.1 Οι ανάγκες, τα προβλήματα και τα κενά που έχουν παρατηρηθεί. Βασικότερη όλων των αναγκών που παρουσιάστηκε είναι η απαίτηση για on-demand παροχή υπολογιστικής ισχύος με τη μορφή εικονικών μηχανών. Αυτά τα Virtual Machines μπορούν να χρησιμοποιηθούν για την εξυπηρέτηση φορτίων αιχμής, για εργαστηριακούς, ερευνητικούς, πειραματικούς σκοπούς σε ανάγκες προσομοιώσεων μεγάλων δικτύων και πολλές άλλες περιπτώσεις. Επίσης μεγιστοποίηση της χρήσης των υποδομών που υπάρχουν ήδη. Σημαντική παράμετρος στο κενό αυτό είναι η ανάγκη της γρήγορης και μονομερούς πράξης ζήτησης της παροχής της υπηρεσίας. Δεύτερη ανάγκη που υπάρχει είναι η δυνατότητα διαθέσιμου on-line αποθηκευτικού χώρου. Ένας χώρος οργανωμένος και συμβατός με την έννοια του προσωπικού χώρου αποθήκευσης δεδομένων προσομοίωση ενός απομακρυσμένου σκληρού δίσκου. Η υπηρεσία αυτή απαιτεί επίσης τη δυνατότητα on-demand και μονομερούς απόκτησης της. Ιδιαίτερη προσοχή πρέπει να δοθεί και στην ασφάλεια των προσωπικών δεδομένων και των υπόλοιπων ευαίσθητων στοιχείων που θα αποθηκευτούν. Είναι επίσης απαραίτητο να είναι εύκολη η επέκταση όλων των υπηρεσιών που θα 71

72 παρέχονται. Να μπορούν να καλυφθούν δυναμικές και κυμαινόμενες ανάγκες που μπορεί να υπάρξουν, αλλά και αυξήσεις με μονιμότερα χαρακτηριστικά στις ζητούμενες υπηρεσίες. Κύρια προϋπόθεση για τη λογική με την οποία θα προσφέρονται οι υπηρεσίες αυτές είναι να υπάρχει η δυνατότητα αυτές να είναι προσβάσιμες από παντού (τοπική πρόσβαση από το χώρο του πανεπιστημίου, αλλά και έξω από αυτό), με ελεγχόμενη δυνατότητα απόκτησης του με δικαιώματα και περιορισμούς που θα ορίζονται ανά χρήστη. Μετά την εγκατάσταση των υποδομών αυτών πρέπει να καλύπτεται με τον ελάχιστο δυνατό χρόνο, αλλά και δαπάνη έμψυχου δυναμικού, η διαχείριση αυτού του συστήματος (administration και maintenance). Απλοποίηση της εμπειρίας του τελικού χρήστη. Είναι απαραίτητο ο χρήστης να μπορεί να αποκτήσει και να εκμεταλλευτεί την υπηρεσία χωρίς να υπάρχουν απαιτούμενες από αυτόν γνώσεις. Αυτό θα κάνει τις υπηρεσίες θελκτικές και αποτελεσματικές, εφόσον το κριτήριο μας είναι η γρήγορη και εύκολη πρόσβαση και χρήση. 4.2 Παρουσίαση της λύσης. Προετοιμασία για την υλοποίηση. Με τεχνικές Virtualization αλλά και με το Xen πιο συγκεκριμένα όπως έχει αναφερθεί, είναι δυνατό να παρέχουμε VM τα οποία καλύπτουν ανάγκες υπολογιστικής ισχύος. Η λύση αυτή δεν μας καλύπτει όμως από μόνη της. Αυτό συμβαίνει επειδή η χρήση του Xen δεν είναι ούτε αρκετά αυτόματη, περιέχει πολλά στοιχεία παραμέτρων που πρέπει να ρυθμιστούν, μια σειρά από διαδικασίες για τη δημιουργία και την εκτέλεση του VM που είναι χρονοβόρες και άρα δεν καλύπτουν ακριβώς την ανάγκη για on-demand και ούτε την απλοποίηση των διαδικασιών. Χρειαζόμαστε μια λύση η οποία να κάνει την εξυπηρέτηση μας ένα βήμα πιο αφαιρετική με λιγότερη παρέμβαση του χρήστη και κυρίως πιο αυτόματη. Η επιλογή που έχει γίνει είναι η χρήση του Eucalyptus το οποίο καλύπτει όλες τις πιο πάνω προϋποθέσεις και μπορεί να εκτελέσει όλες τις διαδικασίες αυτόματα. Με ένα απλό περιγραφικό αίτημα του χρήστη για το VM που έχει ανάγκη, μπορεί να δημιουργήσει και να του παρέχει την υπηρεσία μέσα σε πολύ λίγα λεπτά. Αυτό το περιγραφικό αίτημα είναι και σημαντικό σημείο στην μετέπειτα υλοποίηση μας γιατί προσφέρει τη 72

73 δυνατότητα στο χρήστη να απαιτήσει υπηρεσία που να είναι στα μέτρα των αναγκών του. Η εγκατάσταση του Eucalyptus απαντά και στη δεύτερη ανάγκη μας. Το συστατικό του Eucalyptus που ονομάζεται Walrus δίνει τη δυνατότητα online απομακρυσμένης αποθήκευσης δεδομένων. Η οργάνωση του με στοιχεία που λέγονται buckets (καλάθια) και ανήκουν σε κάθε χρήστη δίνει και το πλεονέκτημα ασφάλειας στην πρόσβαση σε δεδομένα. Η χρήση ενός απλού FTP server δεν θα κάλυπτε αυτή την ανάγκη μας γιατί δεν μπορεί να προσφέρει την λογική αυτή της ομαδοποιημένης αποθήκευσης. Σαν επιπλέον θετικό στην χρήση αυτού του προγράμματος μπορούμε να πούμε ότι είναι πολύ εύκολη και οι αποδέσμευση των αποθηκευτικών (αλλά και υπολογιστικών/επεξεργαστικών) πόρων. Δηλαδή οι πόροι είναι άμεσα διαθέσιμοι μετά την απελευθέρωση τους. Η δυνατότητα αυτή είναι επίσης σημαντική γιατί μπορεί να μετατρέψει υλικό που δεν χρησιμοποιούνταν σε μεγάλο ποσοστό σε έναν πολύ ενεργό server που θα παρέχει υπηρεσίες. Το στοιχείο της επεκτασιμότητας παρουσιάζει δυο διαφορετικές όψεις. Η πρώτη απαιτεί τη δυνατότητα κάλυψης peak αναγκών. Δηλαδή σε περίπτωση που έχουμε φτάσει την πληρότητα του server μας στο φορτίο που μπορεί να καλύψει, εμείς ακόμα να μπορούμε να εξυπηρετήσουμε αιτήματα για υπηρεσίες. Αυτό είναι το χαρακτηριστικό το οποίο επιβάλει τη δημιουργία ενός Hybrid Cloud. Με αυτή την επιλογή επεκτείνουμε τα στενά όρια του δικού μας on-premise private cloud με την συνύπαρξη του με ένα δημόσιο, στο οποίο έχουμε πρόσβαση. Αυτή η δυνατότητα παρέχεται με την χρήση των πιο διαδεδομένων APIs αυτή τη στιγμή στο χώρο του Cloud Computing. Αυτά είναι τα EC2 και S3 της Amazon. Η επιλογή αυτή δεν είναι η βέλτιστη δυνατή αλλά είναι η μοναδική συμβατή. Η τεχνολογία του Cloud δεν έχει ακόμα standards με τα οποία αναπτύσσεται και επομένως δεν μπορούμε να απευθυνθούμε σε κάποιο συγκεκριμένο πρωτόκολλο επικοινωνίας μεταξύ των δύο αυτών cloud (του δικού μας private και του public της Amazon). Το Eucalyptus αλλά και άλλες υλοποιήσεις πλατφορμών cloud (π.χ. OpenNebula), σήμερα είναι συμβατές με αυτά τα API. Έτσι γίνεται δυνατό να συνδέσουμε τις δυνατότητες αυτές σε ένα Hybrid Cloud. Το δεύτερο σκέλος της επιθυμητής επεκτασιμότητας είναι η δυνατότητα εύκολης μόνιμης πρόσθεσης υπολογιστικών κόμβων στο σύστημα. Αυτό είναι δυνατό με πολύ μικρή προσπάθεια και μάλιστα χωρίς down-time για τους server που εμπλέκονται. Υλοποιώντας έναν ακόμα Node Controller του Eucalyptus μπορούμε να τον προσθέσουμε στη συνολική μας εγκατάσταση και αυτός να είναι έτοιμος άμεσα να δεχτεί φορτίο. Η πρόσβαση σε αυτές τις υπηρεσίες που περιγράφονται είναι διαθέσιμες μέσω internet αλλά και τοπικού δικτύου. Το τοπικό δίκτυο παρέχει την επικοινωνία μεταξύ των στοιχείων της εγκατάστασης του Cloud και των VM που δημιουργούνται αλλά και άλλων server στο δίκτυο. Η 73

74 απομακρυσμένη πρόσβαση στο Cloud γίνεται μέσω internet. Αυτό απαιτεί την ύπαρξη μιας δημόσιας διεύθυνσης IP για την επικοινωνία με το Cloud. Η παροχή και ενός DNS κάνει ακόμα πιο εύκολη την πρόσβαση εφόσον μπορεί να δοθεί ένα όνομα στο server και έτσι παρακάμπτεται και η ανάγκη γνώσης αυτής της διεύθυνσης IP. Τα αιτήματα όλα μπορούν να κατευθύνονται σε αυτή την διεύθυνση όπου τα στοιχεία του Eucalyptus θα τα διαχειριστούν για να επιστρέψουν τις υπηρεσίες αυτές μέσω της ίδιας διεύθυνσης. Όλες οι υπηρεσίες είναι συνεχώς online πράγμα που αφαιρεί την ανάγκη για ύπαρξη προσωπικού για την εκτέλεση τους. Πέραν της τακτικής maintenance που απαιτεί το σύστημα δεν υπάρχει άμεση ανάγκη για την περαιτέρω επίβλεψη των υπηρεσιών. Αυτό ενισχύει τον αυτόματο και on-demand χαρακτήρα των υπηρεσιών. Σημαντικό σημείο είναι ότι η παρέμβαση administrator δεν είναι απαραίτητη παρά μόνο για την έγκριση της δημιουργίας νέου χρήστη του Eucalyptus. Με αυτό τον τρόπο απαντάται και η λογική της δυνατότητας μονομερούς πρόσβασης στις δυνατότητες του Cloud. Ένα τέτοιο στήσιμο παρακάμπτει την παροχή λογαριασμού πραγματικού χρήστη στο σύστημα μας. Παρέχεται μόνο η δυνατότητα να χρησιμοποιήσει υπηρεσίες για τις οποίες έχει αποκτήσει εγκεκριμένη πρόσβαση, ελαχιστοποιώντας με αυτό τον τρόπο την πιθανότητα κατά λάθος ή εσκεμμένης διαταραχής της κανονικής λειτουργίας του συστήματος και άλλων ευαίσθητων πληροφοριών που αυτό μπορεί να περιέχει. Το πρόβλημα της απλούστευσης της επαφής με το χρήστη είναι ένα σύνθετο επίσης πρόβλημα. Για την απάντηση του αναπτύχθηκε μια εφαρμογή (web site) με την οποία ο χρήστης, που έχει πρόσβαση στις υπηρεσίες, μπορεί να εκκινήσει ένα VM και να αποκτήσει τον έλεγχο του απομακρυσμένα. Δεν απαιτεί γνώσεις ούτε στο αντικείμενο του Cloud Computing ούτε στο που βρίσκεται το πραγματικό σύστημα ή άλλες περιττές για το χρήστη πληροφορίες. Αποφεύγεται η χρήση της command line διεπαφής και των εργαλείων της αλλά και περιορίζονται οι προσφερόμενες υπηρεσίες αυστηρά σε αυτές τις οποίες έχουμε επιλέξει να δώσουμε πρόσβαση. Από την περιγραφή των γενικών γραμμών των λύσεων που περιγράφτηκαν προκύπτει και η πρακτική υλοποίηση τους, η οποία μας δίνει τη δυνατότητα να διακρίνουμε με μεγαλύτερη λεπτομέρεια το στήσιμο του Cloud αλλά και περιθώρια μελλοντικής βελτίωσης και επέκτασης των δυνατοτήτων που υπάρχουν. Στη συνέχεια του κεφαλαίου περιγράφεται η αρχιτεκτονική του στησίματος, η λογική που την διέπει και το πώς εξειδικεύεται στην περίπτωση μας η χρήση των προγραμμάτων Eucalyptus και Xen που έχουν χρησιμοποιηθεί. 4.3 Υλοποίηση των λύσεων. 74

75 Μετά την έγκριση ενός αιτήματος για τη δημιουργία ενός VM όλα τα συστατικά του Eucalyptus συνεργάζονται για να υλοποιήσουν αυτό το αίτημα. Το αίτημα καταφθάνει στον Cloud Controller. Μέσω μηχανισμών που έχουμε περιγράψει για το Eucalyptus το αίτημα ακολουθεί μέχρι την υλοποίησή του την ακόλουθη πορεία. Ο Cloud Controller επιλέγει έναν διαθέσιμο Cluster Controller όπου και προωθεί τα στοιχεία του ζητούμενου VM και αυτός με τη σειρά του το ζητά να υλοποιηθεί από τον πρώτο διαθέσιμο Node Controller. Ο NC θα απευθύνει το αίτημα τελικά στο Xen μέσω της libvirt. Η πορεία σχηματικά δίνεται στο διάγραμμα που ακολουθεί. Εικόνα 18: Πορεία αιτημάτων Οι διεργασίες που εκτελούνται έχουν ως εξής (και περιγράφονται από τα βέλη: CLC Walrus; Προετοιμασία του επιλεγμένου image με το οποίο θα τρέξει το VM Walrus SC: Δημιουργία block devices για το VM (εικονικός σκληρός δίσκος, swap) CLC CC: Εύρεση διαθέσιμου Node για την εκτέλεση του VM. CC NC: Επικοινωνία με Hypervisor για τις παραμέτρους του VM. SC NC: Παράδοση των block devices. NC Xen: Εκκίνηση VM. Ο λόγος που παρουσιάζεται αυτή η επικοινωνία είναι για να αναδειχθεί ποια μηχανήματα είναι απαραίτητο να επικοινωνούν μεταξύ τους στο εσωτερικό δίκτυο. Επίσης είναι σαφές ότι ο 75

76 hypervisor με τον NC πρέπει να βρίσκονται στο ίδιο μηχάνημα. Στην δική μας εγκατάσταση οι ρόλοι αυτοί επιτελούνται από το ίδιο μηχάνημα όλοι. Η επικοινωνία μεταξύ των στοιχείων του Eucalyptus γίνεται με ssh (secure shell). Έτσι κατά τη διάρκεια της εγκατάστασης θα ζητηθεί η παράδοση κλειδιών πρόσβασης αλλά και πρόσβαση υπερχρήστη από αυτά τα συστατικά. Η επικοινωνία του NC με το Xen γίνεται μέσω του API της libvirt. Κατά την εγκατάσταση του NC θα δημιουργηθούν χρήστες και δικαιώματα σε group της libvirt και κάποια άλλα θα πρέπει να τροποποιηθούν ξεχωριστά ώστε αυτή η επικοινωνία να γίνει εφικτή. Η προσθήκη και το registration των στοιχείων στην περίπτωση της δικής μας εγκατάστασης έχει γίνει με την δημόσια διεύθυνση IP. Είναι πολύ σημαντικό να δοθούν τα λιγότερα δυνατά δικαιώματα πρόσβασης μεταξύ των μηχανημάτων που θα εμπλακούν ώστε να αποτραπούν ανεπιθύμητες κλήσεις. Η επιλογή της συνύπαρξης στο ίδιο μηχάνημα γίνεται για να εκμεταλλευτούμε το μέγιστο δυνατό από το server στον οποίο έχει γίνει η εγκατάσταση (δυο CPU τεσσάρων πυρήνων με 8GB μνήμη RAM). Σε περίπτωση περισσότερων NC καλό θα ήταν η επικοινωνία με τον CC να γίνεται μέσω ιδιωτικού δικτύου για μεγαλύτερη ταχύτητα απόκρισης. Οι ρόλοι του Walrus και SC είναι αποθηκευτικοί, άρα χρήσιμο θα ήταν να είναι servers με μεγάλη και γρήγορη αποθηκευτική δυνατότητα ενώ οι υπόλοιποι ρόλοι εστιάζουν στην επεξεργαστική ισχύ. Το γρηγορότερο δυνατό δίκτυο είναι επίσης μια καλή προϋπόθεση. Το στήσιμο αυτό επιτρέπει μηδενικούς χρόνους επικοινωνίας μεταξύ των στοιχείων της εγκατάστασής μας γιατί δεν παρεμβάλλεται καθόλου δικτυακός εξοπλισμός (switch). Τα VM τελικά θα βρίσκονται ή όχι σε δίκτυο μεταξύ τους με τρόπο που θα περιγραφεί και στη συνέχεια. Η λειτουργία η ίδια των VM είναι επίσης κάτι σημαντικό. Ανάλογα με την περιγραφή που έχει δώσει ο χρήστης το VM θα έχει συγκεκριμένη αλλά επεκτάσιμη μνήμη, πυρήνες CPU και εικονικό σκληρό δίσκο. Το image το οποίο θα χρησιμοποιήσει το instance για την εκκίνησή του είναι αποθηκευμένο στον Walrus. Υπάρχουν images τα οποία είναι συμβατά με το Xen και μάλιστα μπορούν να δημιουργηθούν και νέα ανάλογα με τις ανάγκες που υπάρχουν. Περιέχουν μια εγκατάσταση του λειτουργικού που επιθυμούμαι. Υποστηρίζονται HVM και PV Guests (οι δύο αυτές έννοιες περιγράφονται στο 3ο κεφάλαιο στις αναφορές για το Xen)από την συγκεκριμένη εγκατάσταση. Μετά την δήλωση τους (registration) στον Walrus είναι έτοιμα για χρήση τους. Όλη η διαδικασία αυτή παρουσιάζει ότι το Eucalyptus δεν παρέχει μια εγκατάσταση με έτοιμο το λειτουργικό αλλά παρέχει στο χρήστη τη δυνατότητα να το δημιουργήσει και στη συνέχεια να το εκτελέσει. Αυτό τονίζει τη φύση της παρεχόμενης υπηρεσίας που είναι υποδομή και όχι πλατφόρμα (IaaS) ιδιότητα που παρέχει μεγαλύτερη ευελιξία και δυνατότητες. 76

77 Στο δεύτερο μέρος της δημιουργίας ενός online αποθηκευτικού χώρου γίνεται χρήση του συστατικού Walrus του Eucalyptus, το οποίο έχει υλοποιημένο το S3 API της Amazon. Το στοιχείο αυτό είναι ήδη απαραίτητο όπως περιγράφτηκε για την αποθήκευση των απαραίτητων images. Στη συγκεκριμένη όμως περίπτωση η χρήση του είναι αρκετά τροποποιημένη. Κάθε χρήστης που έχει τα αντίστοιχα δικαιώματα μπορεί να δημιουργήσει ένα bucket στο οποίο θα έχει μοναδική πρόσβαση. Αυτό έχει τη μορφή ενός σκληρού δίσκου, δηλαδή περιορισμένη και μετρίσιμη αποθηκευτική ικανότητα. Μέσα σε αυτό μπορεί να αποθηκεύσει αρχεία τις επιλογής του. Το αίτημα για τη δημιουργία του bucket γίνεται απευθείας στον Walrus μέσω SOAP ή REST-based εργαλεία. Αυτό υποβάλει για βέλτιστη προσέγγιση των υπηρεσιών δημόσια διεύθυνση IP στον server που θα είναι εγκατεστημένος ο Walrus. Πρέπει προφανώς να δοθεί έμφαση στην αποθηκευτική ικανότητα και ασφάλεια των δεδομένων στον server. Στην δική μας εγκατάσταση διατίθενται έξι (6) σκληροί δίσκοι των 250 GB. Αυτοί έχουν δημιουργήσει ένα RAID 6 και παρουσιάζονται στο σύστημα σαν ένας σκληρός δίσκος. Αυτή η δυνατότητα δίνει ασφάλεια και έναν μεγάλο αποθηκευτικό χώρο στην εγκατάσταση μας. Επίσης στο μηχάνημα έχει δοθεί δημόσια IP. Στο ακόλουθο διάγραμμα δίνεται μια σχηματική αναπαράσταση της αποθήκευσης δεδομένων σε buckets από δυο χρήστες. Εικόνα 19: Αποθήκευση σε buckets Τα βέλη δείχνουν την πορεία που πρέπει να ακολουθήσει ο χρήστης για να αποθηκεύσει και να ανασύρει δεδομένα. Η πρόσβαση γίνεται με συγκεκριμένα δικαιώματα μόνο από χρήστες που τα 77

78 πληρούν. Αυτή η προσέγγιση δείχνει το γεγονός ότι ένας απλός FTP server δε θα μας κάλυπτε, αλλά επίσης επιβεβαιώνει την IaaS λογική του στησίματος του συγκεκριμένου Cloud. Τη μεγαλύτερη επίδραση στην επιλογή των εργαλείων του Eucalyptus την έχει επιτελέσει η υλοποίηση των EC2 και S3 API της Amazon. Τα API αυτά μπορεί να μην είναι οι μόνες επιλογές που κυκλοφορούν στον κόσμο του Cloud Computing αλλά είναι αυτά τα οποία υπάρχουν διαθέσιμα τον περισσότερο χρόνο, είναι δοκιμασμένα και οποιαδήποτε προσπάθεια ενοποίησης μέχρι τώρα των τεχνολογιών γίνεται περισσότερο προς την υλοποίηση αυτών. Αυτή η λύση μας δίνει τη δυνατότητα με κοινά εργαλεία να απευθυνθούμε και στα δυο είδη Cloud. Η σημασία αυτής της δυνατότητας είναι πολύ μεγάλη γιατί είναι μια εικόνα στην οποία πρέπει να κινηθεί η τεχνολογία. Εμείς έχουμε τη δυνατότητα με κλίσεις SOAP προς τον Cloud Controller του Eucalyptus και με τις ίδιες κλίσεις σε server της Amazon να πάρουμε τα επιθυμητά αποτελέσματα. Αυτό μας επιτρέπει την δημιουργία της εφαρμογής που αναπτύχθηκε και θα περιγραφεί στη συνέχεια. Το αποτέλεσμα είναι η δημιουργία ενός hybrid Cloud που παρέχει σαν επιπλέον χαρακτηριστικό δυνατότητα κάλυψης μεγαλύτερων αναγκών από τις αυτές που μπορούν να καλύψουν οι δικές μας υποδομές. Απαραίτητο είναι βέβαια να υπάρχει λογαριασμός στο Amazon που να μας παρέχει την πρόσβαση. Η πρόσβαση γίνεται και για τις δυο μορφές των υπηρεσιών μας, την υπολογιστική ισχύ σε VM και την αποθηκευτική ικανότητα σε buckets/εικονικούς σκληρούς. Το δεύτερο μέρος της απαιτούμενης επεκτασιμότητας επιτυγχάνεται με την προσθήκη κόμβων στον ήδη υπάρχων Cluster Controller είτε ακόμα και την προσθήκη ενός νέου Cluster με τους αντίστοιχους NC. Στην εγκατάστασή μας αυτή η δυνατότητα είναι δυνατή με την προσθήκη κόμβου στο εσωτερικό δίκτυο που ανήκει ο server. Προτιμούμε αυτή την επιλογή δικτύωσης γιατί δεν απαιτεί πολλές δημόσιες διευθύνσεις IP και προσφέρει λιγότερη δυνατή πρόσβαση σε αυτούς, άρα μεγαλύτερη ασφάλεια. Σχηματικά το επόμενο διάγραμμα εξηγεί τη διαθέσιμη τοπολογία του δικτύου. 78

79 Εικόνα 20: Δικτύωση Όπως φαίνεται τα VΜ παρουσιάζονται στο δίκτυο μέσω του server σαν να είναι απευθείας στο δίκτυο των φυσικών μηχανημάτων. Ένας νέος NC θα μπορούσε να συνδεθεί στο εσωτερικό αυτό δίκτυο και να προσφέρει τα VM στο ίδιο υποδίκτυο. Αυτό παρέχει τη δυνατότητα προσομοίωσης ενός πολύ μεγάλου LAN. Αυτή η δυνατότητα γενικεύεται μαζικά σε πολύ μεγάλα επίπεδα ανάλογα με τις διαθέσιμες υποδομές αναδεικνύοντας τις πραγματικές δυνατότητες τις τεχνολογίας του Cloud. Μια πιο προσεκτική ματιά στη δικτύωση μπορεί να δημιουργήσει την απορία: Τα VM μπορούμε να τα δούμε μέσω internet; Αυτή είναι μια εύλογη απορία όταν το instance που δημιουργούμε θέλουμε να είναι προσβάσιμο απομακρυσμένα αλλά και απομονωμένα (όχι δηλαδή από κάποιο γειτονικό του μηχάνημα πραγματικό ή εικονικό). Η απάντηση δίνεται με την σύνδεση διαθέσιμης δημόσιας διεύθυνσης στο συγκεκριμένο VM. Το Eucalyptus παρέχει την δυνατότητα της δικτύωσης με τη MANAGED MODE που δεν έχει επιλεγεί για την υλοποίηση της δικτύωσης αλλά επειδή έχει δοκιμαστεί αξίζει να παρατεθούν τα θετικά της,. Ο administrator του συστήματος μπορεί να ορίσει ένα σύνολο από κάποιες διαθέσιμες δημοσιές διευθύνσεις IP τις οποίες να αποδώσει κάποιος χρήστης αν το επιθυμεί σε ένα VM. Αυτή η δυνατότητα παρέχει πιο εύκολη πρόσβαση στα VM ή σε δίκτυα αυτών. Το κυριότερο χαρακτηριστικό της όμως είναι η δυνατότητα να δημιουργήσει VLAN μεταξύ VM τα οποία ανήκουν σε ένα σαφώς ορισμένο group χρηστών. Αυτό έχει σαν αποτέλεσμα την απομόνωση και την ασφαλέστερη λειτουργία τους. Παρουσιάζεται σχηματικά μια τέτοια υλοποίηση για να δείξει με μεγαλύτερη λεπτομέρεια την αξία της. 79

80 Εικόνα 21: Περιορισμός πρόσβασης μέσω δικτύων VLAN Από το σχήμα φαίνεται ότι τα VM είναι συνδεδεμένα στην ίδια γέφυρα-switch. Οι χρήστες μπορούν να συνδεθούν στα VM είτε μέσω δημόσιας διεύθυνσης αν τους έχει δοθεί τέτοια είτε από γειτονικό μηχάνημα, όπως ο χρήστης 211 από το VM 4 στο 5 και το 6. Αυτό που απαγορεύεται είναι η σύνδεση του χρήστη 201 σε κάποιο από τα VM του VLAN με tag 21. Για την ακρίβεια το δίκτυο δεν είναι καθόλου προσβάσιμο από αυτόν. Η MANAGED MODE αν και υπερτερεί της SYTEM που υλοποιήθηκε δεν χρησιμοποιήθηκε. Αυτό συνέβη γιατί δεν υπήρχαν αρκετές διαθέσιμες δημόσιες διευθύνσεις, αλλά κυρίως γατί ο σκοπός της συγκεκριμένης υλοποίησης δεν στοχεύει στην δημόσια παροχή υπολογιστικής ισχύος και επομένως η δικτύωση μεταξύ των VM θα έπρεπε να είναι πιο απλή στη δομή της και προσβάσιμη κυρίως τοπικά. Από την πλευρά βέβαια που μπορούν να αποκτηθούν Instances από την Amazon η πρόσβαση θα είναι δυνατή μόνο από δημόσια διεύθυνση που θα δοθεί. Η μοναδική δυνατότητα για την δημιουργία «τοπικού» δικτύου ανάμεσα σε ένα τοπικό μηχάνημα και σε ένα της Amazon είναι δυνατή μόνο μέσω VPN, περίπτωση που δε θα συζητηθεί όμως. Η πρόσβαση στα μηχανήματα γίνεται μόνο με τη χρήση ssh με κλειδιά τα οποία παράγονται 80

81 από το Eucalyptus. Για λόγους ασφάλειας δεδομένων δεν επιτρέπεται η χρήση του VM ακόμα και από τον administrator του συστήματος με την εντολή xm console. Η απόκτηση ενός τέτοιου κλειδιού γίνεται με τη δημιουργία ενός νέου λογαριασμού, αλλά παρέχεται και η δυνατότητα δημιουργίας δεύτερου και περισσότερων. Το κλειδί που επιθυμείται για τη σύνδεση του χρήστη στο VM ορίζεται κατά την εκκίνηση του. Τελικά ο χρήστης θα μπορέσει να συνδεθεί στη διεύθυνση IP του instance μόνο με αυτό το κλειδί. Όπως παρατηρείται εύκολα, η μέχρι τώρα δραστηριότητα του administrator για το συγκεκριμένο σύστημα περιορίζεται μόνο στην εγκατάσταση του συστήματος και παραμετροποίησή της. Η απόκτηση των υπηρεσιών μπορεί να γίνει με πολύ εύκολο τρόπο από τον τελικό χρήστη και μόνο και χωρίς την παρέμβαση ανθρώπινου δυναμικού. Η επιβεβαίωση των στοιχείων ενός νέου χρήστη είναι η μόνη διαδικασία η οποία θα μπορούσε να απαιτήσει παρέμβαση διαχειριστή, αλλά ακόμα και αυτή η διαδικασία μπορεί αν παρακαμφθεί. Πρακτικά ένα τέτοιο σύστημα το μοναδικό το οποίο χρειάζεται είναι η τακτική διαδικασία συντήρησης εκτός από την επέκτασή του. Βασικότερο χαρακτηριστικό όμως της πρόσβασης στο Cloud είναι ότι δεν χρειάζεται να υπάρχει πρόσβαση σε λογαριασμούς χρηστών του συστήματος. Αυτό είναι πολύ σημαντικό γιατί στην πραγματικότητα απομακρύνει κάθε έννοια επικοινωνίας με το λειτουργικό. Στην δική μας εγκατάσταση το λειτουργικό σύστημα είναι Debian 6.0. Η εγκατάσταση του συστήματος έγινε με δικαιώματα super-user (sudoer/root account). Μετά από αυτές τις αλλαγές δεν χρειάζεται να παρέμβει ξανά στο σύστημα υπερχρήστης. Υπάρχει η δυνατότητα να γίνει η έναρξη και τέτοιων λογαριασμών αν υπάρχει κάποια σημαντική ανάγκη. Για να εξηγήσουμε πως η πρόσβαση είναι τελικά δυνατή αναφέρουμε ότι το VM (όπως περιγράφτηκε ήδη) είναι προσβάσιμο από το δίκτυο όπου έχει πάρει μια διαθέσιμη διεύθυνση Χ. Άρα από οποιοδήποτε σημείο είναι προσβάσιμο αυτό το δίκτυο ή αν το VM έχει δημόσια διεύθυνση μπορεί ο χρήστης να συνδεθεί. Σημαντικό όμως είναι να δούμε ότι και για τη δημιουργία του VM δεν είναι επίσης απαραίτητος λογαριασμός στο λειτουργικό. Τα αιτήματα από τον χρήστη (του Eucalyptus) φτάνουν σε ένα συγκεκριμένο port στο φυσικό μηχάνημα που βρίσκεται ο Cloud Controller. Η υλοποίηση αυτών των αιτημάτων είναι αντιληπτή από πλευράς λειτουργικού διαφορετικά. Κατά την εγκατάσταση των συστατικών του Eucalyptus έχει δημιουργηθεί σε κάθε μηχάνημα που εγκαταστάθηκε τουλάχιστον ένα από τα στοιχεία ένας λογαριασμός στο λειτουργικό με το όνομα eucalyptus. Σαν υπερχρήστης μπορούμε να τροποποιήσουμε τα δικαιώματα που αυτός ο λογαριασμός έχει αλλά το βέλτιστο είναι να αφεθούν ως έχουν για να είναι αποτελεσματική και χωρίς προβλήματα η 81

82 πρόσβαση σε διεργασίες. Αυτός ο λογαριασμός τελικά είναι υπεύθυνος (όπως παρουσιάζεται στο λειτουργικό) για την λειτουργία του Cloud και τη διαχείριση του Hypervisor. Τα αιτήματα επομένως που φτάνουν στον Cloud Controller και έχουν εγκεκριμένα κλειδιά πρόσβασης υλοποιούνται τελικά από το χρήστη «eucalyptus. Με όλη αυτή τη διαδικασία παρακάμπτεται η ανάγκη πρόσβασης σε λογαριασμό χρήστη του λειτουργικού. Στην υλοποίηση μιας Cloud πλατφόρμας είναι πολύ σημαντικό στοιχείο να ληφθεί υπόψη και η εμπειρία του τελικού χρήστη. Η διαχείριση του Eucalyptus είναι δυνατή μέσω των euca2ools και της web interface που αυτό παρέχει. Και τα δυο εργαλεία δεν μπορούν να καλύψουν την ανάγκη της απλής και πλήρους διεπαφής για το χρήστη. Τα euca2ools είναι ένα πακέτο εργαλείων που προσφέρεται μαζί με το Eucalyptus και είναι μια σειρά από command line εντολές που ο χρήστης μπορεί να εκτελέσει για να κάνει κλήσεις στο σύστημα. Παρότι η χρήση τους είναι απλή αναιρεί το τελευταίο χαρακτηριστικό που αναφέρθηκε γιατί απαιτεί πρόσβαση σε κονσόλα τερματικό του συστήματος, άρα και λογαριασμό χρήστη. Κατά δεύτερο λόγο στους περισσότερους χρήστες είναι ιδιαίτερα δυσάρεστη η χρήση command line εργαλείων. Το δεύτερο εργαλείο που παρέχει το Eucalyptus, η web interface, δεν είναι εργαλείο πραγματικής χρήσης του Eucalyptus αλλά περισσότερο ένας πιο απλός τρόπος διαχείρισης των χρηστών και των διαθέσιμων εικόνων, μαζί με τη δυνατότητα παρακολούθησης και αλλαγής σε λίγα στοιχεία/παραμέτρους. Δηλαδή απέχει πολύ από την απαιτούμενη εμπειρία που θέλουμε να παρέχουμε στο τελικό χρήστη. Αυτά τα δύο στοιχεία ορίζουν την ανάγκη μας για την ανάπτυξη μιας εφαρμογής που θα καλύπτει τα δυο κενά που αναφέρθηκαν. Πέρα από αυτά τα χαρακτηριστικά με την εφαρμογή/διεπαφή που θα σχεδιάσουμε είναι δυνατό να πετύχουμε και κάτι ακόμα πιο ξεχωριστό. Να ενώσουμε κάτω από μια εφαρμογή στα μέτρα μας δυο διαφορετικά Clouds (ίσως και περισσότερα αλλά θα συζητηθεί αργότερα). Όπως έχει ήδη αναφερθεί θα χρησιμοποιηθούν τα EC2 και S3 APIs της Amazon. Με την εφαρμογή αυτών θα μπορούμε να έχουμε πρόσβαση με το Amazon EC2 για τη δημιουργία ενός hybrid cloud. Σχηματικά παρουσιάζεται το Hybrid Cloud που θέλουμε να υλοποιήσουμε. 82

83 Εικόνα 22: Υλοποίηση Hybrid Cloud Η διεπαφή θα είναι ένα web site γραμμένο σε PHP με το βασικό Layout να είναι απλό HTML/CSS site. Είναι πολύ σημαντικό να δικαιολογήσουμε γιατί η γλώσσα που χρησιμοποιούμε είναι η PHP. Η PHP είναι μια γλώσσα δημιουργίας ιστοσελίδων με δυναμικό περιεχόμενο, όπως και το αντικείμενο που σκοπεύουμε να υλοποιήσουμε που είναι δυναμικό μεταβαλλόμενο. Κατά δεύτερο και σημαντικότερο λόγο είναι ότι εκτελείται στην server side. Έχει δηλαδή τις ελάχιστες απαιτήσεις από τον browser από τον οποίο θα κληθεί η σελίδα και το περιεχόμενο της. Στην υλοποίηση μας και προαπαιτούμενο για την εκτέλεση του Eucalyptus είναι να εκτελείται ένας Apache web server. Έχουμε επιλογή επομένως αν θέλουμε να την εγκαταστήσουμε την εφαρμογή στον ίδιο server με τον Cloud Controller. Καλό θα είναι όμως ο server να μην επιβαρυνθεί με πάρα πολύ επιπλέον επεξεργαστικό φόρτο και γι αυτό το site εγκαταστάθηκε σε ήδη υπάρχον web server που έχει διαθέσιμο και domain name (nam.ece.upatras.gr/aws). Η υλοποίηση έγινε με την χρήση του AWS SDK for PHP της Amazon (Amazon Web Services Standard Development Kit). Αυτό το εργαλείο είναι και η υλοποίηση του EC2 και S3 API στην οποία έχουμε αναφερθεί. Τελικά το εργαλείο παρουσιάζει μια βιβλιοθήκη από συναρτήσεις 83

84 PHP οι οποίες μπορούν να χρησιμοποιηθούν και με το Eucalyptus. Στόχος της ανάπτυξης ήταν η εκκίνηση ενός VM με ένα από τα διαθέσιμα images και τη δημιουργία ενός κλειδιού για να συνδεθεί ο χρήστης στο μηχάνημα. Οι σελίδες που δημιουργήθηκαν είναι οι ακόλουθες: Home page Describe images Describe Keypairs Create Keypairs Run Instances Describe Instances Η επιλογή για τη χρήση αυτών των σελίδων και των αντίστοιχων εντολών έγινε με κριτήριο το τι είναι απαραίτητο για την εκκίνηση ενός instance. Η Home page δεν εκτελεί κάτι και είναι απλά μια κεντρική αναφορά όλων των σελίδων, για πιο συγκροτημένη πλοήγηση. Για όλες τις εντολές που θα χρησιμοποιήσουν PHP scripts για να απευθυνθούν στο Eucalyptus (ή το Amazon) χρειάζεται αρχικά να εδραιωθεί η σύνδεση με τον server. Αυτό εκτελείται από μια απλή υλοποίηση που γίνεται στο αρχείο set_parameters.php. Σε αυτό υπάρχουν και ορίζονται οι εξής παράμετροι. Βασικά μέσω του set_hostname(); περνάμε στο script την τοποθεσία που βρίσκεται ο server. Μπορεί να είναι είτε η IP v 4 διεύθυνση του, είτε το domain name του server. Επόμενο βήμα είναι ο ορισμός, στην ίδια συνάρτηση του port που θα σταλούν τα αιτήματα. Αυτό πρέπει να είναι το σημείο που ορίζεται από το configuration που έχουμε κάνει στο Eucalyptus. Στην περίπτωση μας χρησιμοποιείται το port Ενδιαφέρον είναι να παρατηρήσουμε ότι αυτό το port δεν είναι το ίδιο με το οποίο επικοινωνούμε με τον Cloud Controller από το browser μας, όταν φορτώνουμε την web interface του Eucalyptus. Σε αυτή την περίπτωση το port είναι το Είναι σημαντικό να προσέξουμε αν όντως στοιχεία του Eucalyptus εκτελούνται στα port τα οποία έχουν οριστεί ειδάλλως καμία επικοινωνία δεν θα μπορεί να εδραιωθεί, άρα και κανένα αποτέλεσμα δεν θα δώσουν κλήσεις στο Eucalyptus. Στη συνέχεια ορίζεται ο φάκελος που απευθυνόμαστε για τις υπηρεσίες. Για τις EC2 υπηρεσίες το Eucalyptus διαθέτει το φάκελο «/Eucalyptus/services» ενώ για την επικοινωνία με το Walrus το φάκελο 84

85 «/Eucalyptus/Walrus». Άρα η συνάρτηση που υλοποιείται πρέπει να απευθύνεται και στην αντίστοιχη διαδρομή. Υπάρχουν και άλλοι παράμετροι που παρουσιάζουν ενδιαφέρον στο πως επιδρούν στην απόδοση ανάλογα με το σύστημα που έχουμε υλοποιήσει. Το κομβικό βήμα για την εκκίνηση των υπηρεσιών είναι να αποκτήσουμε πρόσβαση σε αυτές δίνοντας τα στοιχεία ταυτότητας του χρήστη μας. Με την δημιουργία ενός νέου στιγμιότυπου της κλάσης EC2 (όμοια ακριβές και με την S3) ελέγχεται η εγκυρότητα αυτών των στοιχείων. Τα credentials, όπως ονομάζονται από το Eucalyptus, είναι τρία και είναι ίδιας φύσης με αυτά του Amazon. Έχουμε ένα Access Key, ένα Secret Key και ένα User ID. Τα δυο πρώτα μας παρέχονται κατά τη δημιουργία του λογαριασμού μας στο Eucalyptus ενώ το τρίτο είναι το user name που έχουμε ορίσει. Με το ορθό ορισμό αυτών των τριών μεταβλητών θα εγκρίνονται τα αιτήματα τα οποία θα εκτελούμαι προς τον Cloud Controller. Κάθε κλήση σε μέθοδο της κλάσης που επιθυμούμαι πρέπει να είναι από στιγμιότυπο της κλάσης που περιέχει αυτά τα credentials. Ορίζονται με δυο τρόπους: ο ένας είναι να τα ορίζουμε σαν παραμέτρους του νέου στιγμιότυπου της κλάσης, και ο δεύτερος είναι χωρίς να ορίσουμε κάτι τέτοιο να ανασυρθούν από το configuration του SDK. O πρώτος τρόπος δίνει περισσότερες δυνατότητες από προγραμματιστικής άποψης και απομακρύνει την λογική της hard-coded (η τοποθέτηση της αξίας των μεταβλητών γίνεται απευθείας στον κώδικα) τοποθέτησης μεταβλητών. Εμείς στο στήσιμο μας έχουμε επιλέξει την πρώτη λογική ώστε να μπορεί να είναι εναλλάξιμος και ο χρήστης. Με απλές HTML φόρμες μπορούμε να παίρνουμε αυτά τα χαρακτηριστικά και να τα εισάγουμε στις κλάσεις μας. Σε αυτό το σημείο αξίζει να σημειωθεί ότι εδώ είναι και το κομβικό σημείο της υλοποίησης του Hybrid Cloud. Αν στο hostname εμείς αντί να εισάγουμε έναν δικό μας private cloud server και εισάγουμε server της Amazon η εφαρμογή είναι σε θέση να απευθυνθεί σε αυτόν. Με το πέρασμα των ιδιωτικών κλειδιών που έχει δώσει η Amazon μπορούμε να δημιουργήσουμε VM σε απομακρυσμένο public server (με την αντίστοιχη χρέωση φυσικά). Η λογική της ενοποίησης αυτών των δύο Cloud έχει ήδη παρουσιαστεί, αλλά αυτό είναι τι σημείο της υλοποίησης. Η διαδικασία για την ανάπτυξη της εφαρμογής από αυτό το σημείο και μετά είναι πανομοιότυπη και δεν μας ενδιαφέρει αν απευθυνόμαστε σε δικό μας private η public Cloud. Η περιγραφή των images είναι το πρώτο βήμα προς τη δημιουργία του instance. Η σελίδα αυτή εκτελεί την εντολή describe_instances(); και επιστρέφει τα αποτελέσματά της σε ένα πίνακα. Το αποτέλεσμα είναι ένα Simple XML Object το οποίο πρέπει να διαχειριστούμε ώστε να αποσπάσουμε τις πληροφορίες που θέλουμε αποφεύγοντας την προβολή περιττών στοιχείων. Με αντικειμενοστρεφή λογική και το αντίστοιχο συντακτικό μπορούμε να επεξεργαστούμε αυτό το αντικείμενο. Μπορούμε να αποκτήσουμε (και εμείς συγκεκριμένα εδώ επιλέξαμε να προβάλλουμε) 85

86 το image ID τη θέση που είναι αποθηκευμένο το αρχείο που το ορίζει (manifest,xml) την ιδιοκτησία του, αν είναι ενεργό, kernel, ramdisk, την αρχιτεκτονική κλπ. Με απλές δομές επανάληψης μπορούν όλες αυτές οι πληροφορίες να δοθούν περιεκτικά, ώστε ο χρήστης να μπορεί να επιλέξει το κατάλληλο image για την εκκίνηση του VM που επιθυμεί. 86

87 87

88 88

89 89

90 Εικόνα 23: Describe images (CloudVille) Η δεύτερη εντολή με παρόμοια λογική με την προηγούμενη καλεί τον Cloud Controller να επιστρέψει μια λίστα από τα ονόματα των κλειδιών που είναι διαθέσιμα να χρησιμοποιήσει αυτός ο χρήστης καθώς και το fingerprint αυτού. Εφόσον ο χρήστης αυτός διαθέτει το κλειδί μπορεί να συνδεθεί στο instance. Στο ίδιο σκεπτικό υλοποιείται και η εντολή για την δημιουργία ενός νέου κλειδιού, Ο χρήστης ερωτάται για το όνομα του κλειδιού που θα δημιουργηθεί και το ζευγάρι κλειδιών δημιουργείται. Το public key αποθηκεύεται στον Cloud Controller και αντιστοιχίζεται στον συγκεκριμένο χρήστη, ενώ το private επιστρέφεται στο χρήστη στη σελίδα αυτή. Ο χρήστης αποθηκεύοντας το με συγκεκριμένα δικαιώματα (0600 permissions) μπορεί να τρέξει στη συνέχεια το VM. Οι εικόνες παρουσιάζουν αυτές τις δυο σελίδες. 90

91 Εικόνα 24: Describe Keypairs (CloudVille) Εικόνα 25: Create Keypair (CloudVille) 91

92 Συνοψίζοντας τις παραπάνω πληροφορίες περνάμε στην σελίδα που εκκινεί το instance. Σε αυτή τα στοιχεία που ζητούνται είναι το image-id, το όνομα του κλειδιού και ο τύπος του instance που θέλουμε να εκτελεστεί. Μετά την υποβολή των παραμέτρων αυτών στέλνονται τα αιτήματα για την εκκίνηση του instance όπως έχει περιγραφτεί μέχρι τώρα. Τα instances τελικά παρουσιάζονται στην τελευταία σελίδα describe instances, όπου και προβάλλονται σαν λίστα, μαζί με την IP που έχουν αποκτήσει κατά την εκκίνηση τους και το state (κατάσταση) στο οποίο βρίσκονται (pending, running, shutting-down, terminated). Εικόνα 26: Run Instance (CloudVille) 92

93 Εικόνα 27: Describe Instances (CloudVille) Σε μια προσπάθεια να παρουσιαστεί όλη η εγκατάσταση σε ένα σχήμα παρατίθεται το ακόλουθο διάγραμμα. Συνοψίζει όλη την μέχρι τώρα περιγραφή και τις περισσότερες σχέσεις που υπάρχουν στην υποδομή. Πολύ χρήσιμές πληροφορίες για το πώς πρακτικά μπορεί να επιτευχθούν τα παραπάνω και σύντομοι οδηγοί how-to για την εγκατάσταση και το configuration υπάρχουν στα παραρτήματα. Στο τρίτο παράρτημα παρέχεται και ο κώδικας της διεπαφής που αναπτύχθηκε. 93

94 Εικόνα 28: Συνοπτική αναπαράσταση της υλοποίησης 94

95 4.4 Μελλοντικές δυνατότητες βελτίωσης επέκτασης. Στο παραπάνω σχήμα παρουσιάζονται και σχηματικά (με πράσινο χρώμα) κάποιες δυνατότητες που έχει η συγκεκριμένη υλοποίηση για την επέκταση της. Σκόπιμο είναι να αναφερθούμε σε κάποιες από αυτές αναδεικνύοντας το μη στατικό χαρακτήρα που διαθέτει η τεχνολογία που έχει υλοποιηθεί αλλά και η ίδια η ανωτέρω αρχιτεκτονική συστήματος. Βασική δυνατότητα που παρέχεται είναι η προσθήκη νέων υπολογιστικών κόμβων (Eucalyptus NC). Στο switch και με δικτύωση όπως έχει περιγραφτεί ή ίσως και με κάποια άλλη μορφή μπορούν αν συνδεθούν αρκετοί ακόμα κόμβοι. Αυτό θα παρέχει τη δυνατότητα περισσότερης προσφοράς σε εικονικές μηχανές και ίσως ακόμα και τη δυνατότητα αύξησης του αποθηκευτικού χώρου του Walrus Νέοι υπολογιστικοί κόμβοι που μπορούν αν υλοποιούν διαφορετικό hypervisor (και πιο συγκεκριμένα το KVM) θα παρείχαν την δυνατότητα πλήρους εκμετάλλευσης των δυνατοτήτων της τεχνολογίας του Virtualization μέσα από το Cloud Computing. Ο χρήστης θα μπορούσε να έχει την επιλογή για το ποιος hypervisor θα εκτελέσει το VM του. Περισσότερες public IP διευθύνσεις οι οποίες να μπορούν να αποδοθούν στα VM κάνοντας τα έτσι προσβάσιμα απευθείας μέσω internet. Εγκατάσταση άλλων συμβατών με EC2 πλατφορμών cloud (π.χ. OpenNebula) για την διεύρυνση σε ακόμη μεγαλύτερο βαθμό της hybrid δυνατότητας που υπάρχει. Η τεχνολογία δεν έχει αποκτήσει ακόμα στάνταρντ δικά της και αυτός ο τρόπος είναι ο μοναδικός που προσφέρεται προς το παρόν σαν επιλογή διαλειτουργικότητας. Ακόμη πιο συγκεκριμένα στο κομμάτι της εφαρμογής CloudVille: ü Σύνδεση της διεπαφής με μια βάση δεδομένων ώστε να μπορούν να αποθηκευτούν με ασφάλεια δεδομένα χρηστών όπως τα credentials για τις Cloud πλατφόρμες. ü Δημιουργία ενός login screen για την σύνδεση του χρήστη και την εύκολη ανάκτηση των δεδομένων του από τη βάση. 95

96 ü Αύξηση των δυνατοτήτων επιλογής του χρήστη του σε ποιο Cloud θέλει να απευθύνει το αίτημα. ü Χρήση της αποθηκευτικής ικανότητας που έχει ο Walrus και δημιουργία script για την εύκολη αποθήκευση και ανάκληση δεδομένων. ü Παρουσίαση του ssh κλειδιού στο χρήστη σαν αντικείμενο αρχείο και όχι σαν ένα string που πρέπει να διαχειριστεί ο ίδιος. Παράρτημα Α: Περιγράφεται εδώ η εγκατάσταση του Xen Hypervisor σε ένα λειτουργικό σύστημα Debian 6.0 Squeeze. Η εγκατάσταση είναι απαραίτητη γιατί ο hypervisor θα είναι υπεύθυνος για την δημιουργία των VM όταν θα έχει εγκατασταθεί και η πλατφόρμα Cloud. Όπως έχει ήδη αναφερθεί το Xen είναι ένας hypervisor τύπου 1 και για την εγκατάσταση του απαιτείται η εγκατάσταση του hypervisor αλλά και του τροποποιημένου Domain 0 που θα είναι Debian 6.0. Η διαδικασία απαιτεί δικαιώματα υπερχρήστη (root). root@muc:~# uname -a Linux muc xen-amd64 #1 SMP Wed Jan 12 05:46:49 UTC 2011 x86_64 GNU/Linux O server που εγκαθίσταται το Xen είναι ένας DELL με 2 τετραπύρηνους επεξεργαστές με στοιχεία (στοιχεία ενός από τους 8 συνολικά πυρήνες) root@muc:~# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU stepping : 6 cpu MHz 2.00GHz : cache size : 6144 KB fpu : yes fpu_exception : yes 96

97 cpuid level : 10 wp : yes flags : fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall lm constant_tsc rep_good aperfmperf pni ssse3 cx16 sse4_1 hypervisor lahf_lm bogomips : clflush size : 64 cache_alignment : 64 address sizes : 38 bits physical, 48 bits virtual Μνήμη του συστήματος root@muc:~# cat /proc/meminfo grep MemTotal MemTotal: kb Η εγκατάσταση των απαραίτητων στοιχείων (hypervisor, xen-compatible kernel, xen-tools) για την εκτέλεση του Xen παρέχεται από την κοινότητα Debian με τη μορφή πακέτων, αλλά είναι και δυνατή η εγκατάσταση από τον πηγαίο κώδικα που παρέχεται από την κοινότητα του Xen (στο εξής θα παρέχονται οι εντολές για εγκατάσταση μέσω πακέτων αν και υπάρχει παντού η δυνατότητα για εγκατάσταση από source). Η τελευταία σταθερή έκδοση του Xen κατά τη συγγραφή της διπλωματικής ήταν η 4.0. apt-get install xen-linux-system Για την υποστήριξη HVM guests εγκαθίσταται το πακέτο apt-get install xen-qemu-dm-4.0 Για να γίνει το Xen και ο αντίστοιχος kernel η πρώτη επιλογή που θα φορτώνει το GRUB2: mv -i /etc/grub.d/10_linux /etc/grub.d/21_linux update-grub Για το χρήση στην οποία αποσκοπεί η συγκεκριμένη εγκατάσταση δεν είναι απαραίτητο να αποθηκεύονται τα στοιχεία των VM κατά τον τερματισμό του host και γι' αυτό τροποποιούμε τις τιμές στο αρχείο /etc/default/xendomains όπως παρακάτω. 97

98 XENDOMAINS_RESTORE=false XENDOMAINS_SAVE="" Οι επιλογές που δίνει το Xen για τη δικτύωση των VM είναι αρκετές και μερικές αρκετά περιπλοκες ώστε να καλύπτονται όλες οι ανάγκες. Στην περίπτωση που εμείς θα χρησιμοποιήσουμε το Eucalyptus σαν ελεγκτή και ρυθμιστή της δικτύωσης θα θέσουμε απλά το Xen στην επιλογή της δικτύωσης με γέφυρα. Αυτό θα γίνει αλλάζοντας το αρχείο /etc/xen/xend-config.sxp (network-script 'network-bridge antispoof=yes') την οποία θέτουμε εκτός σχολίων. Η χρήση του antispoof δεν είναι απαραίτητη αλλά αν υπάρχουν ΙΡ διενέξεις καλύτερα να είναι ενεργοποιημένη. Αν δεν την χρειαζόμαστε απλά η αφαίρεση του δείκτη του σχολίου στην έκφραση (network-script network-bridge) Αν επιθυμούμαι τη γέφυρα να γίνει σε κάποιο άλλο interface και όχι στο default eth0 (π.χ. Στην περίπτωση μας με δυο κάρτες δικτύου eth0 και eth1 interfaces) θέτουμε. (network-script 'network-bridge netdev=eth1') Η επανεκκίνηση του υπολογιστή είναι απαραίτητη για να φορτωθεί ο hypervisor αλλά και ο συμβατός kernel. Μετά την επανεκκίνηση οι network interfaces θα πρέπει να είναι αντίστοιχες του ifconfig -s Iface eth0 MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg BMRU eth1 BMRU lo LRU peth BMPRU peth1 98

99 BMPRU Στη συνέχεια για την εύκολη δημιουργία ενός VM μέσω των xen-tools apt-get install xen-tools Τροποποίηση του /etc/xen-tools/xen-tools.conf σύμφωνα με τις οδηγίες και με το αποτέλεσμα που θέλουμε να έχουμε για τον guest. Με την εκτέλεση της παρακάτω εντολής θα δημιουργηθεί ένα block device με την εγκατάσταση του λειτουργικού που έχουμε επιλέξει, και ένα.cfg αρχείο που είναι απαραίτητο για την εκκίνηση του VM. Η xm εντολή θα εκκινήσει το VM σύμφωνα με το αρχείο που της ορίζουμε και θα το συνδέσει στην κονσόλα για να μπορεί να χρησιμοποιηθεί. xen-create-image hostname=samplehostname xm create -c /etc/xen/samplehostname.cfg Η παραπάνω διαδικασία προτείνεται να έχει ελεγχθεί ότι λειτουργεί σωστά, γιατί αν ο hypervisor δεν λειτουργεί σωστά από μόνος του δεν θα μπορεί να λειτουργεί και υπό τον έλεγχο οποιασδήποτε Cloud πλατφόρμας. Εικόνα 29: Η εκκίνηση και το φόρτωμα του hypervisor και του συμβατού kernel στον grub bootloader 99

100 Εικόνα 30: O δαίμονας xend στις διεργασίες, ένα VM σε εκτέλεση και το interface που το VM είναι προσαρτημένο σύμφωνα με τον host Παράρτημα Β: Μετά την ορθή εγκατάσταση του hypervisor μπορούμε να ξεκινήσουμε την εγκατάσταση του Eucalyptus. Για την εγκατάσταση που ακολουθεί όλα τα συστατικά του Eucalyptus έχουν τοποθετηθεί στο ίδιο μηχάνημα (CLC,Walrus,SC,CC,NC one node installation). Πρώτα από όλα πρέπει να προετοιμάσουμε το περιβάλλον μας σύμφωνα με τις απαιτήσεις του Eucalyptus (έκδοση 2.0.3). Απαιτούμενα προγράμματα για την εκτέλεση του Eucalyptus Java 6 Perl server στο port 25 ( εδώ χρησιμοποιείται ο postfix) Τα iproute και iptables πακέτα να είναι εγκατεστημένα DHCP server και ISC DCHP Daemon version 3.0.X bridge-utils, vtun, vlan, lvm2, aoetools, vblade Και πιο συγκεκριμένα για τον Node Controller 100

101 Hypervisor Xen/KVM (εμείς έχουμε επιλέξει το Xen) Disk Utilities (dd και parted εντολές απαραίτητες) libvirt Στην περίπτωση που έχουμε μας καλύπτει η εντολή apt-get install gcc make apache2-threaded-dev ant openjdk-6-jdk libvirt-dev libcurl4-dev dhcp3-server vblade apache2 unzip curl vlan bridge-utils libvirt-bin kvm sudo vtun Αλλά θα ήταν χρήσιμο να ελεγχθούν πρώτα όλα τα πακέτα ότι έχουν εγκατασταθεί σωστά για να μην υπάρχουν διενέξεις. Συγκεκριμένα: θα πρέπει να ρυθμιστεί ο DHCP server ώστε να μπορεί να αντιληφθεί την τοπολογία του δικτύου (/etc/dhcp/dhcpd.conf και /etc/default/isc-dhcp-server περιέχουν τις απαραίτητες ρυθμίσεις). Αν δεν υπάρχουν στην εγκατάσταση περισσότεροι του ενός Cluster Controller θα μπορούσε να απενεργοποιηθεί η χρήση του vtun (/etc/vtund.conf και/etc/default/vtun). Bridge utils μπορεί να ελεγχθεί η λειτουργία τους με την εντολη brctl show. Συγκεκριμένα με την εγκατάσταση του Xen που έχουμε προτείνει θα πρέπει να μπορούμε να δούμε τις διεπαφές δικτύου μας σαν γέφυρες. brctl show bridge name bridge id eth0 STP enabled interfaces a64c1b48c no peth0 vif3.0 eth a64c1b48e no peth1 Μια γέφυρα είναι απαραίτητη για την εγκατάσταση του Eucalyptus άρα θα πρέπει να μας δείξει μια γέφυρα η πιο πάνω εντολή. Το πακέτο locales θα πρέπει να είναι ορθά εγκατεστημένο. dpkg-reconfigure locales Σε όλους τους server που θα γίνει εγκατάσταση συστατικών του Eucalyptus θα πρέπει τα ρολόγια να είναι συγχρονισμένα. ntpdate pool.ntp.org Εφόσον έχει δοθεί η απαραίτητη προσοχή στην εγκατάσταση των απαιτήσεων, στη συνέχεια γίνεται η εγκατάσταση των συστατικών ου Eucalyptus. Η εγκατάσταση σε kernel με headers έκδοσης έχει εμφανίσει προβλήματα συμβατότητας στην ορθή εκτέλεση του Eucalyptus. 101

102 Εδώ έχουμε χρησιμοποιήσει την έκδοση Από το μπορούμε να αποκτήσουμε τα απαραίτητα πακέτα για την εγκατάσταση, για την οποία και ακολουθούμε. apt-get install dpkg-dev tar zxvf eucalyptus-$version-*.tar.gz cd eucalyptus-$version-* dpkg-scanpackages. > Packages και ορίζουμε τον πιο πάνω φάκελο στα apt sources echo deb file://${pwd}./dists/squeeze/main/binary-amd64/ \ >> /etc/apt/sources.list apt-get update Προσοχή η πιο πάνω εντολή είναι για συγκεκριμένη αρχιτεκτονική (εδώ amd64). Κατά την εκτέλεση του apt-get update θα πρέπει να δοθεί προσοχή ότι ο φάκελος αυτός βρέθηκε χωρίς σφάλματα. Τελικά μπορούμε να πραγματοποιήσουμε την εγκατάσταση καλώντας: apt-get install eucalyptus-common eucalyptus-cloud eucalyptus-walrus eucalyptussc eucalyptus-cc ανάλογα πάντα με το ποιο μηχάνημα θέλουμε να αποκτήσει και ποιο ρόλο. Στη συνέχεια εγκαθιστούμε και τα πακέτα για τον Node Controller. apt-get install open-iscsi libcrypt-openssl-random-perl libcrypt-openssl-rsa-perl libcrypt-x509-perl eucalyptus-nc Τα πακέτα θα ζητήσουν την επιβεβαίωση μας γιατί το σύστημα τα αντιλαμβάνεται σαν μη επιβεβαιωμένες πηγές. Το σφάλμα που προκύπτει από την δημιουργία group χρηστών για τη libvirt μπορεί να αγνοηθεί ασφαλώς όπως αναφέρεται στο documentation του Eucalyptus. Απαραίτητα βήματα μετά την εγκατάσταση είναι και τα ακόλουθα τα οποία θα δώσουν σε χρήστες 102

103 αντίστοιχα δικαιώματα και ιδιοκτησίες. sudo vi /etc/libvirt/qemu.conf user = "eucalyptus" sudo vi /etc/libvirt/libvirtd.conf unix_sock_group = "libvirt" unix_sock_ro_perms = "0777" unix_sock_rw_perms = "0770" auth_unix_ro = "none" auth_unix_rw = "none" /etc/init.d/libvirt-bin stop /etc/init.d/libvirt-bin start chown root:libvirt /var/run/libvirt/libvirt-sock chown root:libvirt /var/run/libvirt/libvirt-sock-ro Ακολουθούν τα βήματα που πρέπει να γίνουν μετά την εγκατάσταση και είναι κομβικά για την επικοινωνία που θα έχουν τα στοιχεία της εγκατάστασης μεταξύ τους. $EUCALYPTUS/usr/sbin/euca_conf --register-walrus <front end IP address> $EUCALYPTUS/usr/sbin/euca_conf --register-cluster <clustername> <front end IP address> $EUCALYPTUS/usr/sbin/euca_conf --register-sc <clustername> <front end IP address> $EUCALYPTUS/usr/sbin/euca_conf --register-nodes "<Node 0 IP address> <Node 1 IP address>... <Node N IP address>" Δίνοντας στον browser μας end IP address>:8443 θα μπορούμε να δούμε τη διεπαφή web που έχει το Eucalyptus με κάποια βασικά στοιχεία configuration και άλλες πληροφορίες. Ακολουθούν οι βασικές διαδικασίες απόκτησης κλειδιών για το διαχειριστή του συστήματος τα 103

104 οποί θα ζητούνται για οποιαδήποτε ενέργεια θα θελήσει να κάνει ο διαχειριστής. Καλό θα ήταν να εξεταστεί ξανά το στήσιμο του Xen για να επικοινωνήσει σωστά με την εγκατάσταση του Eucalyptus. Το παρακάτω στήσιμο είναι αυτό που χρησιμοποιείται. (xend-http-server yes) (xend-unix-server yes) (xend-unix-path /var/lib/xend/xend-socket) (xend-address localhost) (network-script 'network-bridge netdev=eth1') (vif-script vif-bridge) (dom0-min-mem 196) (dom0-cpus 0) (vncpasswd '') Η ορθή λειτουργία της libvirt μπορεί να ελεγχθεί με την εντολή: virsh 'list --all' Στο ακόλουθο απόσπασμα είναι το configuration αρχείο για το Eucalyptus το οποίο πρέπει να είναι στα μέτρα της εγκατάστασης μας. Μέσα σε αυτό συμπεριλαμβάνονται οδηγίες υπό τη μορφή σχολίων που βοηθούν στην σωστή παραμετροποίηση για να καλύψει τις ανάγκες μας. Μια από αυτές τις επιλογές είναι και αυτή της δικτύωσης. # # Eucalyptus configuration. #### # These are to instruct the init.d script on what to start. #### EUCALYPTUS="/" EUCA_USER="eucalyptus" DISABLE_ISCSI="N" DISABLE_DNS="Y" 104

105 ENABLE_WS_SECURITY="Y" Cloud_OPTS="" LOGLEVEL="DEBUG" #### # These following are Cluster Controller configuration options. #### CC_PORT="8774" SCHEDPOLICY="ROUNDROBIN" POWER_IDLETHRESH="300" POWER_WAKETHRESH="300" NODES=" " NC_SERVICE="axis2/services/EucalyptusNC" #### # The following are Node Controller configuration options. #### NC_PORT="8775" HYPERVISOR="xen" USE_VIRTIO_DISK="1" USE_VIRTIO_ROOT="0" USE_VIRTIO_NET="0" #### # The following are options for image storage on the Node Controller #### INSTANCE_PATH="/var/lib/eucalyptus/instances" #### # The following are networking options #### VNET_PUBINTERFACE="eth1" VNET_PRIVINTERFACE="eth0" VNET_BRIDGE="eth0" VNET_DHCPDAEMON="/usr/sbin/dhcpd" VNET_DHCPUSER="dhcpd" #VNET_MODE="MANAGED-NOVLAN" 105

106 #VNET_SUBNET=" " #VNET_NETMASK=" " #VNET_DNS="your-dns-server-ip" #VNET_ADDRSPERNET="32" #VNET_PUBLICIPS="your-free-public-ip-1 your-free-public-ip-2..." #VNET_PUBLICIPS=" " #VNET_LOCALIP="your-public-interface's-ip" #VNET_LOCALIP=" " #VNET_CloudIP="your-Cloud-controller's-ip" #VNET_CloudIP=" " VNET_MODE="SYSTEM" Η σημασία και το τι παρέχει η κάθε δυνατότητα δικτύωσης παρουσιάζονται στην επόμενη εικόνα. Στο στήσιμο που χρησιμοποιούμε εμείς έχουμε MANAGED networking το οποίο έχει τις περισσότερες παροχές και παρουσιάζει τη μεγαλύτερη ευελιξία. Εικόνα 31: Eucalyptus Networking Και η τοπολογία του δικτύου (αν και μόνο με ένα NC) μπορεί να προσεγγιστεί από την ακόλουθη μορφή (Οι ΙΡ στο σχήμα δεν ανταποκρίνονται σε πραγματικές). 106

το οικοσύστημα ανάπτυξης λογισμικού

το οικοσύστημα ανάπτυξης λογισμικού Το Υπολογιστικό Νέφος και το οικοσύστημα ανάπτυξης λογισμικού Πτυχιακή εργασία Μιχόπουλος Χαράλαμπος ΜΕ/09062 Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ΠΜΣ: Δικτυοκεντρικά Συστήματα Πτυχιακή εργασία.

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ Του Βασίλη Γούναρη 19 1. Η ΔΙΑΧΕΙΡΙΣΗ ΤΗΣ ΗΤΤΑΣ ΤΟΥ 1897 21 η ηττα και η συνθηκολογηση οι συνεπειες της ηττας εξελιξεις και

Διαβάστε περισσότερα

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου Επιμέλεια: Ιωάννης Γιαμνιαδάκης Σύνδεση με προηγούμενο Μάθημα Στο κεφάλαιο Θερμότητα έχουμε μάθει: Τι είναι θερμότητα & θερμοκρασία μακροσκοπικά & μικροσκοπικά Μέτρηση

Διαβάστε περισσότερα

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ ΕΙΣΑΓΩΓΗ Η κρίση υπερχρέωσης και οι πολιτικές δημοσιονομικής προσαρμογής ανέδειξαν τις διαρθρωτικές αδυναμίες της περιφερειακής οικονομίας και προκάλεσαν επιπτώσεις σε σχέση με την οικονομική

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΤΑΣΕΙΣ

ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΤΑΣΕΙΣ ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΡΟΤΑΣΕΙΣ Με βάση το στόχο της εργασίας που ήταν να εντοπιστούν και να παρουσιαστούν οι ποσοτικές (διαφορές βαθµολογικής απόδοσης) και οι ποιοτικές διαφορές (που αφορούν στην

Διαβάστε περισσότερα

ΤΕΙ ΚΑΛΑΜΑΤΑΣ. ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος

ΤΕΙ ΚΑΛΑΜΑΤΑΣ. ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος ΤΕΙ ΚΑΛΑΜΑΤΑΣ ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος «Φορολογία εισοδήματος φυσικών προσώπων στην Ελλάδα» ΚΑΛΑΜΑΤΑ

Διαβάστε περισσότερα

ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ:

ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΘΕΟΦΑΝΟΠΟΥΛΟΥ ΑΝΑΣΤΑΣΙΑ ΡΟΥΓΓΟΥ ΜΑΡΙΑ ΠΕ10 ΠΕ06 ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΓΚΑΝΑ ΔΑΦΝΗ, ΔΟΣΚΟΡΗ ΑΓΓΕΛΙΚΗ, ΖΑΧΑΡΑΚΗ ΠΑΡΑΣΚΕΥΗ, ΚΑΛΙΑΤΣΟΥ ΙΩΑΝΝΑ,

Διαβάστε περισσότερα

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008) Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008) Μείωση μέχρι 10% θα έχουμε στις νέες συντάξεις από 1/1/2009 στις περιπτώσεις που χορηγείται από τα Ταμεία μειωμένη σύνταξη

Διαβάστε περισσότερα

Πρακτικό εργαλείο. για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας. τη σεξουαλική εκμετάλλευση

Πρακτικό εργαλείο. για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας. τη σεξουαλική εκμετάλλευση Πρακτικό εργαλείο για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας με σκοπό τη σεξουαλική εκμετάλλευση Ιούνιος 2013 Στα πλαίσια της επαγγελματικής σας ιδιότητας ενδέχεται

Διαβάστε περισσότερα

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010 Τοποθέτηση Δημάρχου Γ. Πατούλη για τεχνικό πρόγραμμα 2010 Κυρίες και κύριοι συνάδελφοι Η διοίκηση του Δήμου φέρνει σήμερα προς ψήφιση στο Δημοτικό Συμβούλιο το τεχνικό πρόγραμμα του Δήμου Αμαρουσίου για

Διαβάστε περισσότερα

ΕΥΡΩΠΑΪΚΟ ΚΟΙΝΟΒΟΥΛΙΟ ΓΡΑΦΕΙΟ ΓΙΑ ΤΗΝ ΕΛΛΑΔΑ Η ΜΕΤΑΡΡΥΘΜΙΣΤΙΚΗ ΣΥΝΘΗΚΗ

ΕΥΡΩΠΑΪΚΟ ΚΟΙΝΟΒΟΥΛΙΟ ΓΡΑΦΕΙΟ ΓΙΑ ΤΗΝ ΕΛΛΑΔΑ Η ΜΕΤΑΡΡΥΘΜΙΣΤΙΚΗ ΣΥΝΘΗΚΗ ΕΥΡΩΠΑΪΚΟ ΚΟΙΝΟΒΟΥΛΙΟ ΓΡΑΦΕΙΟ ΓΙΑ ΤΗΝ ΕΛΛΑΔΑ Η ΜΕΤΑΡΡΥΘΜΙΣΤΙΚΗ ΣΥΝΘΗΚΗ ΙΣΤΟΡΙΚΟ Η ανάγκη να μειωθεί το περίφημο δημοκρατικό έλλειμμα, να υπάρξει μεγαλύτερη διαφάνεια και μεγαλύτερη αποτελεσματικότητα στη

Διαβάστε περισσότερα

1 Επιμέλεια: Γράβαλος Βασίλειος, Χρυσανθάκης Ιωάννης

1 Επιμέλεια: Γράβαλος Βασίλειος, Χρυσανθάκης Ιωάννης ΟΡΓΑΝΙΣΜΟΣ ΕΛΛΗΝΙΚΩΝ ΓΕΩΡΓΙΚΩΝ ΑΣΦΑΛΙΣΕΩΝ ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Δ/νση Μελετών & Εφαρμογών Η Δ/νση Μελετών & Εφαρμογών παραδίδει το 14 ο στατιστικό τεύχος του έτους 2012, που εκπόνησε το. Η διάρθρωσή του γίνεται

Διαβάστε περισσότερα

Υποψήφιοι Σχολικοί Σύμβουλοι 1986 2005

Υποψήφιοι Σχολικοί Σύμβουλοι 1986 2005 Υποψήφιοι Σχολικοί Σύμβουλοι 1986 25 Για τους /τις εκπαιδευτικούς που υπέβαλαν αίτηση υποψηφιότητας για τη θέση Σχολικού Συμβούλου υπάρχουν μας διατέθηκαν από τις αρμόδιες υπηρεσίες του ΥΠΕΠΘ, για τα έτη

Διαβάστε περισσότερα

Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών

Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών Δράση 4.1/10 - «Δημιουργία δικτύου συνεργασίας σε τοπικό επίπεδο μεταξύ κρατών μελών της ΕΕ» 1 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Εισαγωγή...3 2. Το σχέδιο

Διαβάστε περισσότερα

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ A1. Ο συγγραφέας ορίζει το φαινόμενο του ανθρωπισμού στη σύγχρονη εποχή. Αρχικά προσδιορίζει την

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ A1. Ο συγγραφέας ορίζει το φαινόμενο του ανθρωπισμού στη σύγχρονη εποχή. Αρχικά προσδιορίζει την ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ A1. Ο συγγραφέας ορίζει το φαινόμενο του ανθρωπισμού στη σύγχρονη εποχή. Αρχικά προσδιορίζει την έννοια της ανθρωπιάς ως συμμετοχής στα προβλήματα των

Διαβάστε περισσότερα

Ο συγγραφέας χρησιμοποιεί συνδυασμό μεθόδων για την ανάπτυξη της έβδομης παραγράφου.

Ο συγγραφέας χρησιμοποιεί συνδυασμό μεθόδων για την ανάπτυξη της έβδομης παραγράφου. Α.1 ΠΕΡΙΛΗΨΗ Στο κείμενο αυτό ο συγγραφέας παρουσιάζει την αξία των αρχαίων ελληνικών μνημείων και την αναγκαιότητα ανάδειξής τους. Αρχικά συσχετίζει τα μνημεία αυτά με τη δημοκρατία και τη συμμετοχή στα

Διαβάστε περισσότερα

ΤΕΧΝΙΚΟ ΕΠΙΜΕΛΗΤΗΡΙΟ ΕΛΛΑΔΟΣ ΔΙΗΜΕΡΙΔΑ ΙΣΧΥΟΝ ΠΛΑΙΣΙΟ ΜΕΛΕΤΩΝ ΔΗΜΟΣΙΟΥ ΕΦΑΡΜΟΓΗ ΠΡΟΒΗΜΑΤΙΣΜΟΙ ΒΕΛΤΙΩΣΕΙΣ

ΤΕΧΝΙΚΟ ΕΠΙΜΕΛΗΤΗΡΙΟ ΕΛΛΑΔΟΣ ΔΙΗΜΕΡΙΔΑ ΙΣΧΥΟΝ ΠΛΑΙΣΙΟ ΜΕΛΕΤΩΝ ΔΗΜΟΣΙΟΥ ΕΦΑΡΜΟΓΗ ΠΡΟΒΗΜΑΤΙΣΜΟΙ ΒΕΛΤΙΩΣΕΙΣ ΤΕΧΝΙΚΟ ΕΠΙΜΕΛΗΤΗΡΙΟ ΕΛΛΑΔΟΣ ΔΙΗΜΕΡΙΔΑ ΙΣΧΥΟΝ ΠΛΑΙΣΙΟ ΜΕΛΕΤΩΝ ΔΗΜΟΣΙΟΥ ΕΦΑΡΜΟΓΗ ΠΡΟΒΗΜΑΤΙΣΜΟΙ ΒΕΛΤΙΩΣΕΙΣ ΘΕΜΑ: ΜΕΛΕΤΕΣ ΔΗΜΟΣΙΟΥ ΚΑΙ ΟΙ ΜΗΧΑΝΙΚΟΙ ΠΑΡΑΓΩΓΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΗΜΕΡΑ ΕΙΣΗΓΗΤΗΣ: ΜΠΙΝΟΣ ΑΝΑΣΤΑΣΙΟΣ

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ Κυριακή 4 Μαρτίου 2012 Α. α) η απάντηση βρίσκεται στη σχολικό βιβλίο: Εισαγωγή των «Ποιημάτων για την Ποίηση», σελίδες

Διαβάστε περισσότερα

ΠΕΤΡΟΓΕΝΕΤΙΚΑ ΟΡΥΚΤΑ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ

ΠΕΤΡΟΓΕΝΕΤΙΚΑ ΟΡΥΚΤΑ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ ΠΕΤΡΟΓΕΝΕΤΙΚΑ ΟΡΥΚΤΑ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ Οι εργαστηριακές εξετάσεις αποτελούνται από: Α) Ένα ολιγόλεπτο τεστ. Το τεστ βαθμολογείται και, εφόσον ο βαθμός είναι 5, ακολουθεί Β) Εξέταση τεσσάρων λεπτών

Διαβάστε περισσότερα

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ Με την υπαγωγή του τομέα και της πολιτικής για την Έρευνα και την Τεχνολογία στο Υπουργείο Παιδείας, Δια Βίου Μάθησης και Θρησκευμάτων (ΥΠΔΒΜΘ), το Υπουργείο ανέλαβε

Διαβάστε περισσότερα

Λογοτεχνία Β Λυκείου. Αγάθη Γεωργιάδου

Λογοτεχνία Β Λυκείου. Αγάθη Γεωργιάδου Λογοτεχνία Β Λυκείου Αγάθη Γεωργιάδου Βασικός σκοπός αυτής της παρουσίασης είναι οι μαθητές στη Β Λυκείου να συνεχίσουν τις πρακτικές που ξεκίνησαν κατά το προηγούμενο σχολικό έτος, αφού κατά γενική ομολογία

Διαβάστε περισσότερα

Η Αγορά Ηλεκτρικής Ενέργειας στην Κύπρο έχει οργανωθεί σε τομείς που υπόκεινται στις ακόλουθες ρυθμίσεις:

Η Αγορά Ηλεκτρικής Ενέργειας στην Κύπρο έχει οργανωθεί σε τομείς που υπόκεινται στις ακόλουθες ρυθμίσεις: ΡΥΘΜΙΣΤΙΚΗ ΑΡΧΗ ΕΝΕΡΓΕΙΑΣ ΚΥΠΡΟΥ ΔΗΛΩΣΗ ΡΥΘΜΙΣΤΙΚΗΣ ΠΡΑΚΤΙΚΗΣ ΚΑΙ ΠΡΟΣΧΕΔΙΟ ΜΕΘΟΔΟΛΟΓΙΑΣ ΔΙΑΤΙΜΗΣΕΩΝ ΗΛΕΚΤΡΙΣΜΟΥ Η ΡΑΕΚ θέτει και δημοσιεύει την παρούσα πρόταση ως προς τις αρχές και τη Μεθοδολογία που

Διαβάστε περισσότερα

Δράση 1.2. Υλοτομία και προσδιορισμός ποσοτήτων υπολειμμάτων.

Δράση 1.2. Υλοτομία και προσδιορισμός ποσοτήτων υπολειμμάτων. 1 η ΤΕΧΝΙΚΗ ΕΚΘΕΣΗ ΕΡΓΟΥ 1 η φάση έργου (Περίοδος 25 Μαϊου έως 30 Σεπτεμβρίου 2014) Στη πρώτη φάση του έργου υλοποιήθηκαν τα παρακάτω: 1 ο Πακέτο εργασίας (Προσδιορισμός είδους και ποσοτήτων υπολειμμάτων

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ. Α. Να αποδώσετε την περίληψη του κειμένου (100-120 λέξεις)

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ. Α. Να αποδώσετε την περίληψη του κειμένου (100-120 λέξεις) 16/01/2011 Γ ΕΠΑΛ ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΓΛΩΣΣΑΣ Α. Να αποδώσετε την περίληψη του κειμένου (100-120 λέξεις) Επιχειρηματολογία με την οποία καταβάλλεται προσπάθεια να αντικρουστούν εισηγήσεις

Διαβάστε περισσότερα

ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ

ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ «ΕΝΝΟΙΕΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΙΙ ΚΑΙ Η ΔΙΔΑΣΚΑΛΙΑ ΤΟΥΣ» ΕΡΓΑΣΤΗΡΙΑΚΟ ΜΕΡΟΣ ΥΠΕΥΘΥΝΟΙ ΜΑΘΗΜΑΤΟΣ:

Διαβάστε περισσότερα

Το ολοκαύτωμα της Κάσου

Το ολοκαύτωμα της Κάσου Το ολοκαύτωμα της Κάσου Το βρίκιον Άρης, 1881 Κολοβός Γεώργιος Ερευνητής Συγγραφέας Πτυχιούχος Διοίκησης Ναυτιλιακών και Μεταφορικών Επιχειρήσεων Ανώτατου Τεχνολογικού Εκπαιδευτικού Ιδρύματος Πειραιά Εισαγωγή

Διαβάστε περισσότερα

5 η Ενότητα Κουλτούρα και στρατηγική

5 η Ενότητα Κουλτούρα και στρατηγική Στρατηγική Διοίκηση και Διαχείριση της Απόδοσης 5 η Ενότητα Κουλτούρα και στρατηγική ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ Έως τώρα έχουμε μιλήσει Κεφάλαιο 2: Σημαντική επιρροή του περιβάλλοντος

Διαβάστε περισσότερα

ΕΚΘΕΣΗ ΓΙΑ ΤΟ ΕΒΕΑ. Το Ασφαλιστικό του 21ο αιώνα; Ανάγκη αναστοχασμού για μια νέα αρχή

ΕΚΘΕΣΗ ΓΙΑ ΤΟ ΕΒΕΑ. Το Ασφαλιστικό του 21ο αιώνα; Ανάγκη αναστοχασμού για μια νέα αρχή ΕΚΘΕΣΗ ΓΙΑ ΤΟ ΕΒΕΑ Το Ασφαλιστικό του 21ο αιώνα; Ανάγκη αναστοχασμού για μια νέα αρχή 1 Ιανουάριος 2016 Περιεχόμενα ΠΕΡΙΛΗΨΗ... 3 ΠΡΟΤΑΣΕΙΣ ΠΟΛΙΤΙΚΗΣ... 6 1. Ένας κώδωνας κινδύνου... 8 2. Προσανατολισμός:

Διαβάστε περισσότερα

Ο αναλφαβητισμός ως σύγχρονο πρόβλημα

Ο αναλφαβητισμός ως σύγχρονο πρόβλημα ΚΕΙΜΕΝΟ 1 ο Ο αναλφαβητισμός ως σύγχρονο πρόβλημα 1 Ο σύγχρονος πολιτισμός, παρ όλη τη διάδοση της εικόνας ως μέσου έκφρασης και πληροφόρησης, παραμένει γραπτός πολιτισμός. Ιδιαίτερα οι νέες τεχνολογίες

Διαβάστε περισσότερα

ΤΟ ΝΕΟ ΑΣΦΑΛΙΣΤΙΚΟ ΤΟΠΙΟ

ΤΟ ΝΕΟ ΑΣΦΑΛΙΣΤΙΚΟ ΤΟΠΙΟ ΤΑ ΟΡΙΑ ΗΛΙΚΙΑΣ ΓΙΑ ΕΡΓΑΖΟΜΕΝΟΥΣ ΣΤΑ ΕΛ-ΤΑ - ΑΝΑΛΥΤΙΚΟΙ ΠΙΝΑΚΕΣ ΓΙΑ ΟΛΕΣ ΤΙΣ ΚΑΤΗΓΟΡΙΕΣ ΑΣΦΑΛΙΣΜΕΝΩΝ (ΤΑΠ-ΟΤΕ) ΓΡΑΜΜΑΤΕΙΑ ΑΣΦΑΛΙΣΤΙΚΟΥ Π.Ο.Σ.Τ. ΤΟ ΝΕΟ ΑΣΦΑΛΙΣΤΙΚΟ ΤΟΠΙΟ Μετά την έκδοση της εγκυκλίου με

Διαβάστε περισσότερα

Χημεία Β Γυμνασίου Τμήμα Β3. Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά

Χημεία Β Γυμνασίου Τμήμα Β3. Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά Χημεία Β Γυμνασίου Τμήμα Β3 Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά Τι είναι άμεση και έμμεση ρύπανση του νερού. Πώς προκαλείται η ρύπανση του νερού. Επιπτώσεις της

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ A1. Με αυτά λοιπόν τα μέσα εφοδιασμένοι οι άνθρωποι κατοικούσαν στην αρχή διασκορπισμένοι, πόλεις όμως δεν υπήρχαν κατασπαράσσονταν λοιπόν από τα θηρία, γιατί ήταν από

Διαβάστε περισσότερα

Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν

Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν μικρομεσαίες επιχειρήσεις και ελευθέρους επαγγελματίες. Τονίζεται ότι τα προγράμματα είναι σε προδημοσίευση. Με τη δημοσίευση της

Διαβάστε περισσότερα

ΙΝΣΤΙΤΟΥΤΟ ΠΑΙΔΑΓΩΓΙΚΩΝ ΕΡΕΥΝΩΝ ΜΕΛΕΤΩΝ ΔΙΔΑΣΚΑΛΙΚΗΣ ΟΜΟΣΠΟΝΔΙΑΣ ΕΛΛΑΔΑΣ

ΙΝΣΤΙΤΟΥΤΟ ΠΑΙΔΑΓΩΓΙΚΩΝ ΕΡΕΥΝΩΝ ΜΕΛΕΤΩΝ ΔΙΔΑΣΚΑΛΙΚΗΣ ΟΜΟΣΠΟΝΔΙΑΣ ΕΛΛΑΔΑΣ 2/10 ΙΝΣΤΙΤΟΥΤΟ ΠΑΙΔΑΓΩΓΙΚΩΝ ΕΡΕΥΝΩΝ ΜΕΛΕΤΩΝ ΔΙΔΑΣΚΑΛΙΚΗΣ ΟΜΟΣΠΟΝΔΙΑΣ ΕΛΛΑΔΑΣ ΚEΝΤΡΟ ΜΕΛΕΤΩΝ & ΤΕΚΜΗΡΙΩΣΗΣ ΟΛΜΕ Αγαπητή/αγαπητέ Συνάδελφε, Το ΚΟΙΝΩΝΙΚΟ ΠΟΛΥΚΕΝΤΡΟ, Ινστιτούτο της ΑΔΕΔΥ, με τη συνεργασία

Διαβάστε περισσότερα

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2 ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ Αγγελική Περιστέρη Α 2 ΧΡΙΣΤΟΥΓΕΝΝΑ Ιρλανδία: Τη νύκτα της παραμονής των Χριστουγέννων όλα τα παράθυρα των σπιτιών που βλέπουν προς το δρόμο, φωτίζονται από ένα αναμμένο κερί, το οποίο

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3 ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3 Σημειώνεται ότι για την ετοιμασία και εφαρμογή της ενότητας συνέδραμαν και οι συνάδελφοι Μαρία Ανθίμου και Χριστίνα Κκαΐλη (Δημοτικό Σχολείο Μενεού) ΔΕΙΚΤΕΣ ΕΠΙΤΥΧΙΑΣ:

Διαβάστε περισσότερα

ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ

ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ ΝΕΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΑ ΠΡΟΪΟΝΤΑ- ΕΦΑΡΜΟΓΗ ΣΕ ΑΣΦΑΛΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΗ ΕΙΣΗΓΗΤΗΣ: ΣΩΤΗΡΟΠΟΥΛΟΣ ΙΩΑΝΝΗΣ ΟΙ ΦΟΙΤΗΤΕΣ: ΤΣΙΡΙΠΙΔΟΥ ΦΩΤΕΙΝΗ ΚΑΣΙΑΡΑΣ ΑΘΑΝΑΣΙΟΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...1 Εισαγωγή...6 ΜΕΡΟΣ Α ΝΕΟ ΠΡΟΪΟΝ

Διαβάστε περισσότερα

ΠΑΡΑΔΟΤΕΟ 2.2: «ΕΡΕΥΝΑ ΚΑΤΑΓΡΑΦΗΣ ΤΩΝ ΚΛΕΙΣΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΚΕΝΤΡΙΚΟΥΣ ΕΜΠΟΡΙΚΟΥΣ ΔΡΟΜΟΥΣ». Μάρτιος 2013 Θεσσαλονίκη

ΠΑΡΑΔΟΤΕΟ 2.2: «ΕΡΕΥΝΑ ΚΑΤΑΓΡΑΦΗΣ ΤΩΝ ΚΛΕΙΣΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΚΕΝΤΡΙΚΟΥΣ ΕΜΠΟΡΙΚΟΥΣ ΔΡΟΜΟΥΣ». Μάρτιος 2013 Θεσσαλονίκη Π.2.2 «Έρευνα καταγραφής των κλειστών επιχειρήσεων σε κεντρικούς εμπορικούς δρόμους»- ΠΑΡΑΔΟΤΕΟ 2.2: «ΕΡΕΥΝΑ ΚΑΤΑΓΡΑΦΗΣ ΤΩΝ ΚΛΕΙΣΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΚΕΝΤΡΙΚΟΥΣ ΕΜΠΟΡΙΚΟΥΣ ΔΡΟΜΟΥΣ». ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΠΡΑΞΗΣ:

Διαβάστε περισσότερα

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές!

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές! «Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα Ενδεικτικές απαντήσεις Περιθωριοποίηση μαθητών από μαθητές! Α. Να συντάξετε την περίληψη του κειμένου που σας δίνεται (λέξεις 100-120).

Διαβάστε περισσότερα

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης Καταστατικές Πρόνοιες και Εσωτερικοί Κανονισμοί που αφορούν τη Διεύθυνση Τοπικής Αυτοδιοίκησης, τις εκλογές Τοπικής Αυτοδιοίκησης και Σχολικών Εφορειών, τη λειτουργία

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΚΑΤΑΣΚΕΥΩΝ. ΥΠΟΧΡΕΩΤΙΚΟ ΜΑΘΗΜΑ: Διδακτικές ώρες 8 ΘΕΩΡΙΑΣ - ΘΕΜΑΤΟΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΣΥΝΘΕΣΗΣ - ΕΙΔΙΚΗ ΚΤΙΡΙΟΛΟΓΙΑ ΙΙ

ΑΡΧΙΤΕΚΤΟΝΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΚΑΤΑΣΚΕΥΩΝ. ΥΠΟΧΡΕΩΤΙΚΟ ΜΑΘΗΜΑ: Διδακτικές ώρες 8 ΘΕΩΡΙΑΣ - ΘΕΜΑΤΟΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΣΥΝΘΕΣΗΣ - ΕΙΔΙΚΗ ΚΤΙΡΙΟΛΟΓΙΑ ΙΙ ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΑΡΧΙΤΕΚΤΟΝΩΝ ΜΗΧΑΝΙΚΩΝ Δ.Π.Θ. - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΟΜΕΑΣ ΙΙΙ: ΤΜΗΜΑ ΑΡΧΙΤΕΚΤΟΝΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΚΑΤΑΣΚΕΥΩΝ 3 Ο ΕΤΟΣ 2013-2014.

Διαβάστε περισσότερα

ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20

ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20 Πίνακας περιεχομένων ΠΡΟΟΙΜΙΟ... 4-5 1.ΑΝΑΤΡΟΠΗ ΤΟΥ ΠΟΛΙΤΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΤΩΝ ΚΑΤΕΣΤΗΜΕΝΩΝ... 6-20 1.1 Αλλαγή του πολιτικού συστήματος... 6-9 1.1.1 Εξυγίανση του πολιτικού συστήματος. Διαφάνεια παντού...

Διαβάστε περισσότερα

Το σχέδιο έχει ως βάση ένα ενιαίο σύστημα κλειστών αγωγών το οποίο εκτείνεται

Το σχέδιο έχει ως βάση ένα ενιαίο σύστημα κλειστών αγωγών το οποίο εκτείνεται Να θυμόμαστε ότι ο νόμος Ν 3199/2003 για την προστασία και διαχείριση υδάτων ψ ηφίστηκε από την Ελλάδα ώστε να εναρμονισθεί με την οδηγία πλαίσιο 2000/60/ΕΚ του Ευρωπαϊκού Κοινοβουλίου «Διαχείριση και

Διαβάστε περισσότερα

ΑΘ. ΚΟΥΤΟΥΚΙΔΗΣ ΓΕΩΠΟΝΟΣ Ένωση Αγροτικών Συνεταιρισμών Ορεστιάδας

ΑΘ. ΚΟΥΤΟΥΚΙΔΗΣ ΓΕΩΠΟΝΟΣ Ένωση Αγροτικών Συνεταιρισμών Ορεστιάδας ΑΘ. ΚΟΥΤΟΥΚΙΔΗΣ ΓΕΩΠΟΝΟΣ Ένωση Αγροτικών Συνεταιρισμών Ορεστιάδας Το σκόρδο Βύσσας καλλιεργείται στην περιοχή της Νέας Βύσσας Έβρου από το 1923. Από τότε μέχρι και σήμερα αποτελεί μια από τις κύριες καλλιέργειες

Διαβάστε περισσότερα

Πρακτικό 6/2012 της συνεδρίασης της Επιτροπής Ποιότητας Ζωής, του Δήμου Λήμνου, της 4ης Μαΐου 2012.

Πρακτικό 6/2012 της συνεδρίασης της Επιτροπής Ποιότητας Ζωής, του Δήμου Λήμνου, της 4ης Μαΐου 2012. Πρακτικό 6/2012 της συνεδρίασης της Επιτροπής Ποιότητας Ζωής, του Δήμου Λήμνου, της 4ης Μαΐου 2012. Στη Μύρινα, σήμερα στις 4 του μήνα Μαΐου του έτους 2012, ημέρα Παρασκευή και ώρα 12:00 στο Δημοτικό Κατάστημα

Διαβάστε περισσότερα

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων Ενότητα 2 Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων Φύλλα Εργασίας (Γενικά) Με τον όρο "φύλλα εργασίας" εννοούµε, το σύνολο των φύλλων που περιέχουν όλο το αποδεικτικό υλικό, το οποίο

Διαβάστε περισσότερα

Αξιολόγηση του Εκπαιδευτικού Έργου. Διαδικασία Αυτοαξιολόγησης στη Σχολική Μονάδα

Αξιολόγηση του Εκπαιδευτικού Έργου. Διαδικασία Αυτοαξιολόγησης στη Σχολική Μονάδα ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΚΕΝΤΡΟ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΕΡΕΥΝΑΣ Αξιολόγηση του Εκπαιδευτικού Έργου Διαδικασία Αυτοαξιολόγησης στη Σχολική Μονάδα Σχέδιο Ετήσιας Έκθεσης Αυτοαξιoλόγησης

Διαβάστε περισσότερα

ΕΚΘΕΣΗ ΓΙΑ ΤΗΝ ΠΑΡΑΝΟΜΗ ΙΑΚΙΝΗΣΗ ΑΝΘΡΩΠΩΝ

ΕΚΘΕΣΗ ΓΙΑ ΤΗΝ ΠΑΡΑΝΟΜΗ ΙΑΚΙΝΗΣΗ ΑΝΘΡΩΠΩΝ ΕΚΘΕΣΗ ΓΙΑ ΤΗΝ ΠΑΡΑΝΟΜΗ ΙΑΚΙΝΗΣΗ ΑΝΘΡΩΠΩΝ ηµοσιοποιείται από το Γραφείο Παρακολούθησης και Καταπολέµησης της Παράνοµης ιακίνησης Ανθρώπων 12 Ιουνίου 2007 ΕΙΣΑΓΩΓΗ Οι καταθέσεις των θυµάτων που περιλαµβάνονται

Διαβάστε περισσότερα

Η ποιότητα ζωής στις Σέρρες σήμερα

Η ποιότητα ζωής στις Σέρρες σήμερα Η ποιότητα ζωής στις Σέρρες σήμερα Μάιος 2008 PI0829 / Διάγραμμα 1 Η ΤΑΥΤΟΤΗΤΑ ΤΗΣ ΕΡΕΥΝΑΣ ΕΤΑΙΡΕΙΑ: ΑΝΑΘΕΣΗ: ΤΥΠΟΣ ΚΑΙ ΜΕΘΟΔΟΣ: ΠΛΗΘΥΣΜΟΣ: ΠΕΡΙΟΧΗ: ΔΕΙΓΜΑ: ΧΡΟΝΟΣ ΔΙΕΞΑΓΩΓΗΣ: ΜΕΘΟΔΟΣ ΔΕΙΓΜΑΤΟΛΗΨΙΑΣ: ΤΥΠΙΚΟ

Διαβάστε περισσότερα

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα Όμιλος Λογοτεχνίας Δράκογλου Αναστασία, Κιννά Πασχαλίνα Πρότυπο Πειραματικό Δημοτικό Σχολείο Σερρών «Κων/νος Καραμανλής» Δράκογλου Αναστασία, adrakogl@yahoo.gr Κιννά Πασχαλίνα, kinpash@yahoo.gr ΠΕΡΙΛΗΨΗ

Διαβάστε περισσότερα

ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ»

ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» ΥΠ.Ε.Π.Θ. / ΠΑΙ ΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» Γ ΚΟΙΝΟΤΙΚΟ ΠΛΑΙΣΙΟ ΣΤΗΡΙΞΗΣ ΕΡΓO ΣΥΓΧΡΗΜΑΤΟ ΟΤΟΥΜΕΝO ΚΑΤΑ 80% ΑΠΟ ΤΟ ΕΚΤ ΚΑΙ ΚΑΤΑ 20% ΑΠΟ ΕΘΝΙΚΟΥΣ ΠΟΡΟΥΣ «Ολοκληρωµένη

Διαβάστε περισσότερα

Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών.

Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών. ΣΥΝΤΑΓΜΑ Αν η παρούσα Βουλή διαλυθεί χωρίς προηγουμένως να κινήσει την διαδικασία για την αναθεώρηση του Συντάγματος, θα έχουμε άλλη μια απόδειξη ότι το πολιτικό σύστημα δεν έχει επαφή με την πραγματικότητα.

Διαβάστε περισσότερα

«ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ»

«ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ» 1 ο ΕΠΑ.Λ ΑΝΩ ΛΙΟΣΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ: «ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ» ΣΧΟΛΙΚΟ ΕΤΟΣ : 2008-2009 ΠΕΡΙΒΑΛΛΟΝΤΙΚΗ ΟΜΑΔΑ: ΔΗΜΟΠΟΥΛΟΣ

Διαβάστε περισσότερα

6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο

6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο Στρατηγική Διοίκηση και Διαχείριση της Απόδοσης 6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ Αντικείμενο ενότητας Ποια ανταγωνιστική στρατηγική

Διαβάστε περισσότερα

Εργαστηριακή εξάσκηση στις διαταραχές της κίνησης και της οπτικής αντίληψης. Διδάσκων :Α.Β.Καραπέτσας

Εργαστηριακή εξάσκηση στις διαταραχές της κίνησης και της οπτικής αντίληψης. Διδάσκων :Α.Β.Καραπέτσας Εργαστηριακή εξάσκηση στις διαταραχές της κίνησης και της οπτικής αντίληψης Διδάσκων :Α.Β.Καραπέτσας Περιεχόμενο μαθήματος Διαταραχές κίνησης Διαταραχές οπτικο-χωρικές Διαταραχές οπτικο-κινητικές Δυσπραξία

Διαβάστε περισσότερα

ΤΕΥΧΟΣ ΠΡΟΚΗΡΥΞΗΣ αριθμ. 15912/605/16-07-2009 ΔΗΜΟΣΙΟΥ ΑΝΟΙΚΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑΚΗΡΥΞΗ ΑΝΑΔΟΧΟΥ ΓΙΑ ΤΗΝ ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΕΡΓΟΥ

ΤΕΥΧΟΣ ΠΡΟΚΗΡΥΞΗΣ αριθμ. 15912/605/16-07-2009 ΔΗΜΟΣΙΟΥ ΑΝΟΙΚΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑΚΗΡΥΞΗ ΑΝΑΔΟΧΟΥ ΓΙΑ ΤΗΝ ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΕΡΓΟΥ ΕΘΝΙΚΟ ΣΤΡΑΤΗΓΙΚΟ ΠΛΑΙΣΙΟ ΑΝΑΦΟΡΑΣ (2007-2013) ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑ-ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ αριθμ. 15912/605/16-07-2009 ΔΗΜΟΣΙΟΥ ΑΝΟΙΚΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑΚΗΡΥΞΗ ΑΝΑΔΟΧΟΥ ΓΙΑ ΤΗΝ

Διαβάστε περισσότερα

Η Φυσική με Πειράματα

Η Φυσική με Πειράματα Α Γυμνασίου Η Φυσική με Πειράματα Πρόγραμμα Σπουδών Περιγραφή Το μάθημα της Φυσικής, η "Φυσική με Πειράματα", στην πρώτη τάξη του Γυμνασίου προβλέπεται να διδάσκεται μία ώρα την εβδομάδα, στην τάξη ή στο

Διαβάστε περισσότερα

ΠΟΛΙΤΙΚΉ ΠΑΙΔΕΙΑ. Α Γενικού Λυκείου και ΕΠΑ.Λ. Καζάκου Γεωργία, ΠΕ09 Οικονομολόγος

ΠΟΛΙΤΙΚΉ ΠΑΙΔΕΙΑ. Α Γενικού Λυκείου και ΕΠΑ.Λ. Καζάκου Γεωργία, ΠΕ09 Οικονομολόγος 1 ΠΟΛΙΤΙΚΉ ΠΑΙΔΕΙΑ Α Γενικού Λυκείου και ΕΠΑ.Λ. 2 ΚΕΦΑΛΑΙΟ 11 Ο ΤΟ ΧΡΗΜΑ ΚΑΙ ΟΙ ΤΡΑΠΕΖΕΣ 11.1 Από τον αντιπραγματισμό στην οικονομία του χρήματος 11.1 ΑΠΟ ΤΟΝ ΑΝΤΙΠΡΑΓΜΑΤΙΣΜΟ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ ΤΟΥ ΧΡΗΜΑΤΟΣ

Διαβάστε περισσότερα

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,» ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,» Η γενική Συνδιάσκεψη της ιεθνούς Οργάνωσης Εργασίας, που συγκλήθηκε στη Γενεύη από το ιοικητικό

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009 2010 ΟΔΗΓΟΣ ΣΠΟΥΔΩΝ ΤΜΗΜΑ ΓΕΩΠΟΝΙΑΣ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ ΚΑΙ ΑΓΡΟΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Ν. Ιωνία, ΒΟΛΟΣ Τη συγκέντρωση της ύλης του και την επιμέλεια της έκδοσης είχε

Διαβάστε περισσότερα

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ ΓΕΝΙΚΟΙ ΟΡΟΙ ΑΡΘΡΟ 1. ΟΡΙΣΜΟΙ Αξία καινούργιου: Είναι το ποσό που απαιτείται για την ανακατασκευή του κτιρίου

Διαβάστε περισσότερα

«Πολιτιστικές διαδροµές στα µεταλλευτικά τοπία της Kύθνου»

«Πολιτιστικές διαδροµές στα µεταλλευτικά τοπία της Kύθνου» ΔΙΠΛΩΜΑΤΙΚΕΣ 2009-10 (15/2/2011 - πηγή www.greekarchitects.gr) «Πολιτιστικές διαδροµές στα µεταλλευτικά τοπία της Kύθνου» Φυσικό τοπίο - βιοµηχανική κληρονοµιά - ιστορική µνήµη. Φοιτητές: Βελουδάκη Χριστιάννα,

Διαβάστε περισσότερα

Απομόνωση χλωροφύλλης

Απομόνωση χλωροφύλλης Απομόνωση χλωροφύλλης Φυτικά κύτταρα Χλωροπλάστης Α Γυμνασίου Κεφάλαιο 2 Ενότητα 2.1 Σελ. 39-40 Γ Γυμνασίου Κεφάλαιο 2 Ενότητα 2.2 Σελ. 43-44 1 Εισαγωγή Οι αυτότροφοι οργανισμοί όπως τα φυτά, παράγουν

Διαβάστε περισσότερα

ΤΙΤΛΟΣ I ΕΥΡΩΠΑΪΚΑ ΣΧΟΛΕΙΑ

ΤΙΤΛΟΣ I ΕΥΡΩΠΑΪΚΑ ΣΧΟΛΕΙΑ ΣΥΜΒΑΣΗ ΣΧΕΤΙΚΑ ΜΕ ΤΟ ΚΑΤΑΣΤΑΤΙΚΟ ΤΩΝ ΕΥΡΩΠΑΪΚΩΝ ΣΧΟΛΕΙΩΝ ΠΡΟΟΙΜΙΟ ΤΑ ΥΨΗΛΑ ΣΥΜΒΑΛΛΟΜΕΝΑ ΜΕΡΗ, ΜΕΛΗ ΤΩΝ ΕΥΡΩΠΑΪΚΩΝ ΚΟΙΝΟΤΗΤΩΝ ΚΑΙ ΟΙ ΕΥΡΩΠΑΪΚΕΣ ΚΟΙΝΟΤΗΤΕΣ, στο εξής αποκαλούµενα «τα συµβαλλόµενα µέρη»,

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής

Ερωτήσεις πολλαπλής επιλογής ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ Κεφάλαιο 1 ο : Βασικές Οικονομικές Έννοιες ΕΠΙΜΕΛΕΙΑ: ΝΙΚΟΛΑΟΣ Χ. ΤΖΟΥΜΑΚΑΣ ΟΙΚΟΝΟΜΟΛΟΓΟΣ Ερωτήσεις πολλαπλής επιλογής 1. Όταν μια καμπύλη παραγωγικών δυνατοτήτων είναι ευθεία,

Διαβάστε περισσότερα

ΣΧΕΔΙΟ ΠΡΟΤΑΣΕΩΝ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ & ΚΗΔΕΜΟΝΩΝ ΕΠΙ ΤΟΥ ΠΡΟΣΧΕΔΙΟΥ ΤΟΥ ΕΣΩΤΕΡΙΚΟΥ ΚΑΝΟΝΙΣΜΟΥ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 1 ου ΓΥΜΝΑΣΙΟΥ ΜΑΡΚΟΠΟΥΛΟΥ ΣΗΜΕΙΩΣΗ

ΣΧΕΔΙΟ ΠΡΟΤΑΣΕΩΝ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ & ΚΗΔΕΜΟΝΩΝ ΕΠΙ ΤΟΥ ΠΡΟΣΧΕΔΙΟΥ ΤΟΥ ΕΣΩΤΕΡΙΚΟΥ ΚΑΝΟΝΙΣΜΟΥ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 1 ου ΓΥΜΝΑΣΙΟΥ ΜΑΡΚΟΠΟΥΛΟΥ ΣΗΜΕΙΩΣΗ ΣΧΕΔΙΟ ΠΡΟΤΑΣΕΩΝ ΣΥΛΛΟΓΟΥ ΓΟΝΕΩΝ & ΚΗΔΕΜΟΝΩΝ ΕΠΙ ΤΟΥ ΠΡΟΣΧΕΔΙΟΥ ΤΟΥ ΕΣΩΤΕΡΙΚΟΥ ΚΑΝΟΝΙΣΜΟΥ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ 1 ου ΓΥΜΝΑΣΙΟΥ ΜΑΡΚΟΠΟΥΛΟΥ ΣΗΜΕΙΩΣΗ 02/03/2015 Με "μαύρα" γράμματα είναι το Σχέδιο Κανονισμού Καθηγητών,

Διαβάστε περισσότερα

«Το δράμα να διδάσκεις Δράμα στο Λύκειο» ή εναλλακτικές προτάσεις για τη διδασκαλία της Αντιγόνης.

«Το δράμα να διδάσκεις Δράμα στο Λύκειο» ή εναλλακτικές προτάσεις για τη διδασκαλία της Αντιγόνης. «Το δράμα να διδάσκεις Δράμα στο Λύκειο» ή εναλλακτικές προτάσεις για τη διδασκαλία της Αντιγόνης. Νικολαΐδης Αλέξανδρος, Σχολικός Σύμβουλος Φιλολόγων Ν. Πιερίας Περίληψη: Η εισήγηση αποτελείται από δύο

Διαβάστε περισσότερα

ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΜΗΤΡΟΠΟΛΕΩΣ 42, 105 63 ΑΘΗΝΑ ΙΝΕΜΥ - ΕΣΕΕ

ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΜΗΤΡΟΠΟΛΕΩΣ 42, 105 63 ΑΘΗΝΑ ΙΝΕΜΥ - ΕΣΕΕ ΕΘΝΙΚΗ ΣΥΝΟΜΟΣΠΟΝΔΙΑ ΕΛΛΗΝΙΚΟΥ ΕΜΠΟΡΙΟΥ ΜΗΤΡΟΠΟΛΕΩΣ 42, 105 63 ΑΘΗΝΑ ΙΝΕΜΥ - ΕΣΕΕ Δευτέρα, 27 Ιουνίου 2011 ΥΠΟΛΟΓΙΣΜΟΣ ΕΠΙΠΛΕΟΝ ΕΤΗΣΙΩΝ ΕΠΙΒΑΡΥΝΣΕΩΝ ΑΥΤΟΑΠΑΣΧΟΛΟΥΜΕΝΩΝ ΕΜΠΟΡΩΝ ΚΑΙ ΜΙΚΡΟΜΕΣΑΙΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

Διαβάστε περισσότερα

ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ

ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ ΓΝΩΣΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ 1.Καύση απόδοση καυσίμων υλών (Χημεία) 2.Ενέργεια (Φυσική) 3.Ασθένειες

Διαβάστε περισσότερα

Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ

Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ Εκπαιδευτήρια Δούκα Δημοτικό Ιούνιος 2013 Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ Επιμέλεια : Γ. Τσούκας ΔΙΑΘΕΜΑΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ ΤΗΣ ΓΝΩΣΗΣ 1. Εννοιολογική Οριοθέτηση 8. Κριτική θεώρηση Σύνοψη Διαθεματικότητα Διεπιστημονικότητα

Διαβάστε περισσότερα

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης

Κατερίνα Παναγοπούλου: Δημιουργώντας κοινωνικό κεφάλαιο την εποχή της κρίσης Κατερίνα Παναγοπούλου Πρέσβυς της Ελλάδας στο Συμβούλιο της Ευρώπης, πρόεδρος του σωματείου γυναικών «Καλλιπάτειρα». Πρώτο βραβείο «Γυναίκα και Αθλητισμός» 2012 για την Ευρώπη. Δημιουργώντας κοινωνικό

Διαβάστε περισσότερα

Η υποστήριξη της επαγγελματικής μάθησης μέσα από την έρευνα-δράση: διαδικασίες και αποτελέσματα

Η υποστήριξη της επαγγελματικής μάθησης μέσα από την έρευνα-δράση: διαδικασίες και αποτελέσματα Η υποστήριξη της επαγγελματικής μάθησης μέσα από την έρευνα-δράση: διαδικασίες και αποτελέσματα Σοφία Αυγητίδου Καθηγήτρια Παιδαγωγικής Εκπαίδευσης Εκπαιδευτικών Πανεπιστήμιο Δυτικής Μακεδονίας Δομή παρουσίασης

Διαβάστε περισσότερα

ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης

ΠΡΟΣ: ΚΟΙΝ: ΘΕΜΑ: Ενηµερωτικό σηµείωµα για το πρόβληµα της παράνοµης υλοτοµίας και ειδικά αυτό της καυσοξύλευσης 1 Ιωάννης Κέκερης ασοπόνος Επίτιµος Πρόεδρος Ένωσης ασοπόνων Μακεδονίας Θράκης Μέλος.Σ. Πανελλήνιας Ένωσης ασοπόνων και ιαχειριστών Φυσικού Περιβάλλοντος ΠΡΟΣ: ΚΟΙΝ: Αρναία 16/12/2012 Κα Πρόεδρο Ειδικής

Διαβάστε περισσότερα

Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών

Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση υπηρεσιών Εκδόθηκε το Προεδρικό Διάταγμα, υπ αριθ. 85 (ΦΕΚ 141/τ. Α /21-6- 2012) για την «Ίδρυση και μετονομασία Υπουργείων, μεταφορά και κατάργηση

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΡΑΓΩΓΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ, ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΕΝΕΡΓΕΙΑΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΡΑΓΩΓΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ, ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΕΝΕΡΓΕΙΑΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΡΑΓΩΓΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ, ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΕΝΕΡΓΕΙΑΣ ΓΡΑΦΕΙΟ ΓΕΝΙΚΗΣ ΓΡΑΜΜΑΤΕΩΣ ΧΩΡΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΑΣΤΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ Αθήνα, 27/07/2015 Α.Π.: οικ. 1329 ΠΡΟΣ : (Ως Πίνακα

Διαβάστε περισσότερα

ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ. Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15. ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ :

ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ. Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15. ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ : ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15 ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ : ΘΕΜΑ : Συνέδριο Περιφέρειας - Πορίσματα Αγαπητοί βαθμοφόροι Σας γνωστοποιούμε

Διαβάστε περισσότερα

ΠΡΟΪΟΝΤΩΝ» Ποσοστό στη.. του Μέτρου. Ποσό (σε ΕΥΡΩ)

ΠΡΟΪΟΝΤΩΝ» Ποσοστό στη.. του Μέτρου. Ποσό (σε ΕΥΡΩ) ΤΕΧΝΙΚΟ ΕΛΤΙΟ ΜΕΤΡΟΥ 7.12 : «EΠΕΝ ΥΣΕΙΣ ΓΙΑ ΤΗ ΒΕΛΤΙΩΣΗ ΤΗΣ ΑΝΤΑΓΩΝΙΣΤΙΚΟΤΗΤΑΣ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΡΩΤΗΣ ΜΕΤΑΠΟΙΗΣΗΣ ΚΑΙ ΕΜΠΟΡΙΑΣ ΓΕΩΡΓΙΚΩΝ ΠΡΟΪΟΝΤΩΝ» Α. ΤΑΥΤΟΤΗΤΑ ΜΕΤΡΟΥ Κ.Π.Σ. 2000-2006 ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ

Διαβάστε περισσότερα

ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από

ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από τους Δικαστές Κυριάκο Μπαμπαλίδη, Πρόεδρο Πρωτοδικών,

Διαβάστε περισσότερα

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο.

Ο ΠΡΟΕΔΡΟΣ ΤΗΣ ΒΟΥΛΗΣ ΤΩΝ ΕΛΛΗΝΩΝ. Άρθρο πρώτο. ΝΟΜΟΣ: 1634/86 Κύρωση των πρωτοκόλλων 1980 «Για την προστασία της Μεσογείου θαλάσσης από τη ρύπανση από χερσαίες πηγές» και 1982 «περί των ειδικά προστατευομένων περιοχών της Μεσογείου» (ΦΕΚ 104/Α/18-07-86)

Διαβάστε περισσότερα

Ξαναδίνουμε ζωή στο δικό μας ΗΡΑΚΛΕΙΟ Δ.Α.Σ.Η. ΓΙΩΡΓΟΣ ΜΑΣΤΟΡΑΚΟΣ. Δημοτική Ανεξάρτητη Συνεργασία Ηρακλείου

Ξαναδίνουμε ζωή στο δικό μας ΗΡΑΚΛΕΙΟ Δ.Α.Σ.Η. ΓΙΩΡΓΟΣ ΜΑΣΤΟΡΑΚΟΣ. Δημοτική Ανεξάρτητη Συνεργασία Ηρακλείου Δ.Α.Σ.Η. Δημοτική Ανεξάρτητη Συνεργασία Ηρακλείου ΓΙΩΡΓΟΣ ΜΑΣΤΟΡΑΚΟΣ Ο βαθμός δημοκρατίας κάθε χώρας συναρτάται ευθέως και άμεσα με τον τρόπο που αντιμετωπίζονται οι κοινωνικά και οικονομικά αδύναμοι Ούλωφ

Διαβάστε περισσότερα

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Οικονομικών Επιστημών Σημειώσεις με θέμα «Πιστωτικοί Τίτλοι» Πιστωτικοί τίτλοι καλούνται τα έγγραφα εκείνα με τα οποία αποδεικνύεται τόσο η ύπαρξη της

Διαβάστε περισσότερα

Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας

Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας Ο Οδικός Χάρτης για την Ελλάδα της δημιουργίας Από την κρίση και τα ελλείμματα στην ανάπτυξη και την κοινωνική δικαιοσύνη ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Α. Αντιμέτωποι με την κρίση: τα πρώτα βήματα για τη σωτηρία

Διαβάστε περισσότερα

ΣΧΟΛΙΚΟ ΕΤΟΣ 2009-201 0

ΣΧΟΛΙΚΟ ΕΤΟΣ 2009-201 0 1 5 ο ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΜΥΤΙΛΗΝΗΣ ΠΡΟΓΡΑΜΜΑ ΠΟΛΙΤΙΣΤΙΚΩΝ ΘΕΜΑΤΩΝ ΣΧΟΛΙΚΟ ΕΤΟΣ 2009-201 0 ΠΡΟΓΡΑΜΜΑ ΠΟΛΙΤΙΣΤΙΚΩΝ ΘΕΜΑΤΩΝ ΥΠΕΥΘΥΝΕΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Φαμέλου Σεβαστή, δασκάλα Α! τάξης Σέντα Θεοδώρα, δασκάλα Β!

Διαβάστε περισσότερα

ΑΡΧΑΙΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 26/5/2010

ΑΡΧΑΙΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 26/5/2010 ΑΡΧΑΙΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 26/5/2010 Α1. Η αρετή αναφέρεται στα «πάθη» και στις «πράξεις», στα οποία η υπερβολή αποτελεί λάθος και ψέγεται, το ίδιο και η έλλειψη, ενώ το μέσον επαινείται και είναι το

Διαβάστε περισσότερα

«ΠΑΡΑΓΩΓΗ - ΔΙΑΘΕΣΗ & ΤΥΠΟΠΟΙΗΣΗ ΤΟΥ ΜΕΛΙΟΥ ΜΑΙΝΑΛΟΥ ΕΝΟΣ ΠΡΟΪΟΝΤΟΣ ΠΟΠ»

«ΠΑΡΑΓΩΓΗ - ΔΙΑΘΕΣΗ & ΤΥΠΟΠΟΙΗΣΗ ΤΟΥ ΜΕΛΙΟΥ ΜΑΙΝΑΛΟΥ ΕΝΟΣ ΠΡΟΪΟΝΤΟΣ ΠΟΠ» ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΡΓΙΚΩΝ ΠΡΟΪΟΝΤΩΝ Α-?4^ 7 - ΚΑΛΑΜΑΤΑ! 5Γ * 90 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΠΑΡΑΓΩΓΗ - ΔΙΑΘΕΣΗ & ΤΥΠΟΠΟΙΗΣΗ ΤΟΥ ΜΕΛΙΟΥ ΜΑΙΝΑΛΟΥ ΕΝΟΣ ΠΡΟΪΟΝΤΟΣ ΠΟΠ» Μέλι Ελάτης Μαίναλου

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ ΤΜΗΜΑΤΑ ΕΚΘΕΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΙΔΡΥΜΑΤΟΣ ΠΟΥ ΘΑ ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΛΗΡΩΘΟΥΝ ΑΠΟ ΤΑ ΤΜΗΜΑΤΑ ΤΟΥ ΕΚΠΑ

ΠΑΡΑΡΤΗΜΑ ΤΜΗΜΑΤΑ ΕΚΘΕΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΙΔΡΥΜΑΤΟΣ ΠΟΥ ΘΑ ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΛΗΡΩΘΟΥΝ ΑΠΟ ΤΑ ΤΜΗΜΑΤΑ ΤΟΥ ΕΚΠΑ ΠΑΡΑΡΤΗΜΑ ΤΜΗΜΑΤΑ ΕΚΘΕΣΗΣ ΑΥΤΟΑΞΙΟΛΟΓΗΣΗΣ ΤΟΥ ΙΔΡΥΜΑΤΟΣ ΠΟΥ ΘΑ ΠΡΕΠΕΙ ΝΑ ΣΥΜΠΛΗΡΩΘΟΥΝ ΑΠΟ ΤΑ ΤΜΗΜΑΤΑ ΤΟΥ ΕΚΠΑ 2 Δ. Προγράμματα Σπουδών Στην ενότητα αυτή το Ίδρυμα καλείται να αναλύσει κριτικά και να αξιολογήσει

Διαβάστε περισσότερα

Μια Ιστορία Πολλοί Συγγραφείς

Μια Ιστορία Πολλοί Συγγραφείς Μια Ιστορία Πολλοί Συγγραφείς 22 ο Νηπιαγωγείο Χαλκίδας ΔΙΕΘΝΕΣ ΠΡΟΓΡΑΜΜΑ «WE CARE» 2014-2015 Εκπαιδευτικός: Μαζιώτη Παγώνα Η Περιπέτεια μας με το καράβι του WECARE και οι εμπειρίες μας. Συγγραφείς: τα

Διαβάστε περισσότερα

ΞΕΝΕΣ ΓΛΩΣΣΕΣ ΞΕΝΕΣ ΓΛΩΣΣΕΣ

ΞΕΝΕΣ ΓΛΩΣΣΕΣ ΞΕΝΕΣ ΓΛΩΣΣΕΣ 1 ΞΕΝΕΣ ΓΛΩΣΣΕΣ 1. Εισαγωγή Γενικός σκοπός της διδασκαλίας των Ξένων Γλωσσών είναι να αποκτήσουν οι μαθητές και μαθήτριες τις αναγκαίες επικοινωνιακές δεξιότητες, που θα τους επιτρέψουν να επικοινωνούν

Διαβάστε περισσότερα

Αξιολόγηση Προγράμματος Αλφαβητισμού στο Γυμνάσιο Τρίτο Έτος Αξιολόγησης

Αξιολόγηση Προγράμματος Αλφαβητισμού στο Γυμνάσιο Τρίτο Έτος Αξιολόγησης Αξιολόγηση Προγράμματος Αλφαβητισμού στο Γυμνάσιο Τρίτο Έτος Αξιολόγησης (Ιούνιος 2011) 1. Ταυτότητα της Έρευνας Το πρόγραμμα Αλφαβητισμός, που λειτουργεί κάτω από την εποπτεία της Υπηρεσίας Εκπαιδευτικής

Διαβάστε περισσότερα

03-00: Βιομάζα για παραγωγή ενέργειας Γενικά ζητήματα εφοδιαστικών αλυσίδων

03-00: Βιομάζα για παραγωγή ενέργειας Γενικά ζητήματα εφοδιαστικών αλυσίδων Κεφάλαιο 03-00 σελ. 1 03-00: Βιομάζα για παραγωγή ενέργειας Γενικά ζητήματα εφοδιαστικών αλυσίδων Μια από τις κύριες διαφορές μεταξύ της βιομάζας και των ορυκτών καυσίμων είναι ότι η βιομάζα παραμένει

Διαβάστε περισσότερα

3o ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΗΡΑΚΛΕΙΟΥ σχολ. Έτος 2011-2012

3o ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΗΡΑΚΛΕΙΟΥ σχολ. Έτος 2011-2012 3o ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΗΡΑΚΛΕΙΟΥ σχολ. Έτος 2011-2012 Ερευνητική εργασία β τετραμήνου Ομάδα: «Ποιοτικός έλεγχος και ασφάλεια τροφίμων» Αργυράκης Γιάννης, Αργυρίου Αντώνης, Βασιλάκης Γιώργος, Βρέντζος Θεόφιλος,

Διαβάστε περισσότερα

ΓΙΑ ΤΗΝ ΕΞΟΔΟ ΑΠΟ ΤΗΝ ΕΥΡΩΖΩΝΗ ΣΤΟ ΔΗΜΟΨΗΦΙΣΜΑ ΨΗΦΙΖΟΥΜΕ ΕΡΩΤΗΣΕΙΣ & ΑΠΑΝΤΗΣΕΙΣ ΟΧΙ ΜΕΧΡΙ ΤΕΛΟΥΣ. Αριστερή Αντικαπιταλιστική Συσπείρωση (ΑΡ.Α.Σ.

ΓΙΑ ΤΗΝ ΕΞΟΔΟ ΑΠΟ ΤΗΝ ΕΥΡΩΖΩΝΗ ΣΤΟ ΔΗΜΟΨΗΦΙΣΜΑ ΨΗΦΙΖΟΥΜΕ ΕΡΩΤΗΣΕΙΣ & ΑΠΑΝΤΗΣΕΙΣ ΟΧΙ ΜΕΧΡΙ ΤΕΛΟΥΣ. Αριστερή Αντικαπιταλιστική Συσπείρωση (ΑΡ.Α.Σ. ΕΡΩΤΗΣΕΙΣ & ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΕΞΟΔΟ ΑΠΟ ΤΗΝ ΕΥΡΩΖΩΝΗ ΣΤΟ ΔΗΜΟΨΗΦΙΣΜΑ ΨΗΦΙΖΟΥΜΕ ΟΧΙ ΜΕΧΡΙ ΤΕΛΟΥΣ Αριστερή Αντικαπιταλιστική Συσπείρωση (ΑΡ.Α.Σ.) ΙΟΥΛΙΟΣ 2015 Ερωτήσεις και απαντήσεις για την Έξοδο από

Διαβάστε περισσότερα

Καλές Πρακτικές Πρόληψης και Αντιμετώπισης Ενδοσχολικής Βίας- Σχολική Διαμεσολάβηση

Καλές Πρακτικές Πρόληψης και Αντιμετώπισης Ενδοσχολικής Βίας- Σχολική Διαμεσολάβηση Καλές Πρακτικές Πρόληψης και Αντιμετώπισης Ενδοσχολικής Βίας- Σχολική Διαμεσολάβηση Χρηστίδου Χριστίνα Κοινωνική Λειτουργός-Ψυχολόγος MSc Κοιν.Ψυχιατρικής-Παιδοψυχιατρικής Σήμερα στο σχολείο : Τα θύματα

Διαβάστε περισσότερα

ΠΑΡΑΡΤΗΜΑ Γ. «Γενικές προδιαγραφές τοπικού συμφώνου μεταποιητικών επιχειρήσεων και επιχειρήσεων παραγωγής ειδών διατροφής μετά την α μεταποίηση»

ΠΑΡΑΡΤΗΜΑ Γ. «Γενικές προδιαγραφές τοπικού συμφώνου μεταποιητικών επιχειρήσεων και επιχειρήσεων παραγωγής ειδών διατροφής μετά την α μεταποίηση» ΠΑΡΑΡΤΗΜΑ Γ «Γενικές προδιαγραφές τοπικού συμφώνου μεταποιητικών επιχειρήσεων και επιχειρήσεων παραγωγής ειδών διατροφής μετά την α μεταποίηση» 0 0 ΓΕΝΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΤΟΠΙΚΟΥ ΣΥΜΦΩΝΟΥ ΜΕΤΑΠΟΙΗΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

Διαβάστε περισσότερα

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ''ΜΕΛΕΤΗ ΓΙΑ ΤΗΝ ΙΚΑΝΟΠΟΙΗΣΗ ΤΩΝ ΦΟΙΤΗΤΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΛΟΓΙΣΤΙΚΗΣ ΤΟΥ Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΑΠΟ ΤΙΣ ΣΠΟΥΔΕΣ ΤΟΥΣ'' ΓΕΩΡΓΙΟΣ ΝΤΑΛΑΟΥΤΗΣ

Διαβάστε περισσότερα

Ένας περίπατος στη Μονή Καισαριανής

Ένας περίπατος στη Μονή Καισαριανής Ένας περίπατος στη Μονή Καισαριανής Ένας περίπατος στη Μονή Καισαριανής Το Μάιο του 2008 το Υπουργείο Πολιτισμού εγκαινίασε το θεσμό «Περιβάλλον και Πολιτισμός» με στόχο την ανάδειξη των άρρηκτων δεσμών

Διαβάστε περισσότερα

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ Υπό την Υψηλή Προστασία του Προέδρου της Κυπριακής Δημοκρατίας ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ ΜΝΗΜΟΝΙΟ ΠΑΡΑΔΟΣΗΣ - ΠΑΡΑΛΑΒΗΣ ΚΑΙ ΚΑΝΟΝΙΣΜΟΙ ΛΕΙΤΟΥΡΓΙΑΣ ΚΕΝΤΡΟΥ ΚΑΤΑΣΚΗΝΩΤΙΚΟ ΚΕΝΤΡΟ «ΠΛΑΤΑΝΙΑ» ΓΙΑ ΤΗΝ ΚΑΤΑΣΚΗΝΩΤΙΚΗ

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ. Επιμέλεια: Ομάδα Φιλολόγων της Ώθησης

ΑΠΑΝΤΗΣΕΙΣ. Επιμέλεια: Ομάδα Φιλολόγων της Ώθησης ΑΠΑΝΤΗΣΕΙΣ Επιμέλεια: Ομάδα Φιλολόγων της Ώθησης 1 Τετάρτη, 28 Μα ου 2014 Γ ΛΥΚΕΙΟΥ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ ΕΚΦΡΑΣΗ - ΕΚΘΕΣΗ ΚΕΙΜΕΝΟ Η «ανθρωπιά» είναι μια λέξη του καιρού μας, ένας όρος κοινόχρηστος, ένα νόμισμα

Διαβάστε περισσότερα

Πρώτη διδακτική πρόταση Χρωματίζοντας ένα σκίτσο

Πρώτη διδακτική πρόταση Χρωματίζοντας ένα σκίτσο Κατανόηση προφορικού λόγου Επίπεδο Α (αρχάριο) Πρώτη διδακτική πρόταση Χρωματίζοντας ένα σκίτσο Ενδεικτική διάρκεια: Ομάδα-στόχος: Διδακτικός στόχος: Στρατηγικές: Υλικό: Ενσωμάτωση δεξιοτήτων: 1-2 διδακτικές

Διαβάστε περισσότερα

ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ. Οδηγός Οργάνωσης και Λειτουργίας ΕΚΔΟΣΗ 1.0

ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ. Οδηγός Οργάνωσης και Λειτουργίας ΕΚΔΟΣΗ 1.0 ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ Οδηγός Οργάνωσης και Λειτουργίας ΕΚΔΟΣΗ 1.0 ΑΠΡΙΛΙΟΣ 2014 ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ Οδηγός Οργάνωσης και Λειτουργίας Περιεχόμενα Εισαγωγή Σκοπός Απαιτούμενες Γνώσεις Μορφή της Εκπαίδευσης Σχολή

Διαβάστε περισσότερα