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



Σχετικά έγγραφα
Διαδίκτυο των Αντικειμένων - IoT.

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1

Υπολογιστική Νέφους Cloud computing

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Παρουσίαση του Έργου SECOVIA: στόχοι και αποτελέσματα

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

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

Πληροφοριακά Συστήματα Απομακρυσμένης Εποπτείας και Μετρήσεων

Η ΤΑΥΤΟΤΗΤΑ ΜΑΣ. Αναλαμβάνουμε τη μελέτη, εγκατάσταση και υποστήριξη όλων των τηλεπικοινωνιακών συστημάτων VοIP.

cloud computing εφαρμογές νέφους Κεφάλαιο 13

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

ΗΜΕΡΙΔΑ Cloud Computing: Νέοι Ορίζοντες

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

6 Εισαγωγή στο Wordpress 3.x

Oλοκληρωμένες λύσεις Πληροφορικής και Τηλεπικοινωνιών στην υπηρεσία της Ναυτιλίας

Cloud Computing και Ζητήματα Προστασίας Προσωπικών Δεδομένων. Λ. Μήτρου, Αναπληρώτρια Καθηγήτρια Πανεπιστήμιο Αιγαίου

ΚΕΦΑΛΑΙΟ 13. Εφαρμογές νέφους. ΕΝΟΤΗΤΑ 4 Συνεργασία και Ασφάλεια στο Διαδίκτυο. Εφαρμογές Πληροφορικής

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΙΑ ΙΚΑΣΙΑ ΜΕΤΑΒΑΣΗΣ ΣΤΟ CLOUD COMPUTING ΜΑΘΗΣΙΑΚΟΙ ΣΤΟΧΟΙ

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Epsilon Net PYLON Platform

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

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

Υπολογιστική Νέφους: Εργαστήριο ΙI Υπηρεσία αποθήκευσης και Ανάπτυξη διαδικτυακής εφαρμογής

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Φιλίππου Θεοδόσιος Εκπαιδευτικός Πληροφορικής

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

Υπηρεσία διαμοιρασμού αρχείων

VERSION 1.0 ΝΟΕΜΒΡΙΟΣ, 2016 ΤΕΧΝΟΛΟΓΙΕΣ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΟΜΟΙΩΣΗΣ CLOUDSIM ΕΠΙΜΕΛΕΙΑ: ΒΑΣΙΛΕΙΟΣ ΤΣΑΚΑΝΙΚΑΣ

Η πληροφορία έχει τα. Εμείς είμαστε δίπλα σας σε κάθε βήμα

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Οδηγίες Χρήσης EAP Controller Software

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

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

Όροι Χρήσης της IBM Όροι για Συγκεκριμένες Προσφορές SaaS. IBM Decision Optimization on Cloud

ΛΥΣΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΑΡΧΕΙΟΘΕΤΗΣΗΣ ΥΠΗΡΕΣΙΑ ΑΥΛΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΙΜΟΛΟΓΗΣΗΣ CASE STUDY PHARMATHEN SA

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

ΕΠΛ425 : Τεχνολογίες Διαδικτύου Εργαστήρια

Ηλεκτρονικά Καταστήματα E Shops

Τι είναι το Cloud; Είναι κάτι διαφορετικό ανάλογα ποιος το βλέπει. Administrator Technical Salesman MarkeHng Boss User

Cloud ERP. Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας

Διαχειριστικό σύστημα ονομάτων χώρου

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S.

Η Oracle μετασχηματίζει την αγορά λύσεων υποδομής Cloud

2- Μοντέλα, Επίπεδα, Συμπράξεις, ROI, Υπολ/κό νέφος, Πλατφόρμες και Κινητή Διακυβέρνηση ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες

SingularLogic Mobile Applications

SGA Διαχείριση Πρωτόκολλου

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

XAMPP Apache MySQL PHP javascript xampp

IBM Decision Optimization on Cloud

Υπολογιστική Νέφους: Εργαστήριο 1

Όροι Χρήσης της IBM Όροι για Συγκεκριμένες Προσφορές SaaS. IBM Intelligent Operations Center on Cloud

ΟΙ ΨΗΦΙΑΚΕΣ ΕΙΚΟΝΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ ΩΣ ΔΟΜΕΣ ΣΤΗΡΙΞΗΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ

EΠΙΣΗΜΑΝΣΗ ΑΠΟΡΡΗΤΟΥ (PRIVACY NOTICE)

ΤΟ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΟΥ

Αλλάξτε τον τρόπο που κάνετε τη δουλειά σας

ΚΕΠΛΗΝΕΤ ΕΒΡΟΥ. Καλτσίδης Χρήστος

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Γνωρίστε καλύτερα τους πελάτες σας

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Οδηγός σύνδεσης στο δίκτυο του ΤΕΠΑΚ μέσα από την υπηρεσία απομακρυσμένης πρόσβασης VPN Τεχνολογικό Πανεπιστήμιο Κύπρου

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

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

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Λύσεις διαχείρισης υπολογιστών-πελατών και λύσεις εκτύπωσης Universal Printing Solutions

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη

Ο Ρόλος των Αρχών στη διασφάλιση του Απορρήτου των Επικοινωνιών στον κόσµο της Νεφοϋπολογιστικής

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

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

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

Εγχειρίδιο εγκατάστασης Megasoft 2009

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

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

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

Οδηγός Εγκατάστασης Pylon Auto Moto Cube

Transcript:

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

ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «Ανάπτυξη εφαρμογής cloud για διαδικτυακές υπηρεσίες» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Παναγιώτου Ιωάννη του Σπυρίδωνος Αριθμός Μητρώου: 6819 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Κουφοπαύλου Οδυσσέας Καθηγητής Ο Διευθυντής του Τομέα Χούσος Ευθύμιος Καθηγητής

Αριθμός Διπλωματικής Εργασίας: Θέμα: «Ανάπτυξη εφαρμογής cloud για διαδικτυακές υπηρεσίες» Φοιτητής: Παναγιώτου Ιωάννης Επιβλέπων: Σερπάνος Δημήτριος Περίληψη Το αντικείμενο της παρούσας Διπλωματικής Εργασίας είναι η ανάπτυξη και υλοποίηση μιας εφαρμογής cloud για διαδικτυακές υπηρεσίες. Συγκεκριμένα, η εφαρμογή ονομάζεται My Calendar και αφορά ένα προσωπικό ημερολόγιο. Η εφαρμογή βρίσκεται στην υποδομή «νέφους» της Google και οι τελικοί χρήστες μπορούν να έχουν πρόσβαση στην υπηρεσία μέσω ενός web browser. Αρχικά, γίνεται η εισαγωγή στις έννοιες του cloud computing καθώς και σε αυτές της πλατφόρμας της Google. Στη συνέχεια παρουσιάζεται ο τρόπος υλοποίησης της εφαρμογής και αναλύονται οι λειτουργίες της. Ο εκάστοτε χρήστης, αφού πρώτα δημιουργήσει τον προσωπικό του λογαριασμό, μπορεί να έχει πρόσβαση στην παρεχόμενη υπηρεσία. Η προσπάθεια επικεντρώθηκε κυρίως στην παρουσίαση μιας απλής και εύχρηστης εφαρμογής και δόθηκε ιδιαίτερη έμφαση στο λειτουργικό κομμάτι, ώστε και ο πλέον άπειρος χρήστης να κατανοεί τη διαδικασία και να μπορεί να χρησιμοποιεί την εφαρμογή εύκολα και γρήγορα για τις καθημερινές του εργασίες οργανώνοντας το πρόγραμμά του. Abstract This diploma thesis deals with the development of a cloud application for web services. The application is called My Calendar and it is hosted on Google s infrastructure. Everyone can access it from a simple web browser. First of all, we make an introduction in order to understand the meaning of cloud computing and be able to handle with the Google Cloud Platform. We describe the deployment of the application and we present its operations. Users must register in order to login and, after that, they could enter the interface which enables them to organize their schedule. We tried to focus on creating a user-friendly application and we emphasized on the functionality, so even the most inexperienced user could easily cope with it. As a result, we developed My Calendar with a view to everyone who wants to manage his/her scheduled tasks. 1

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

ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ... 4 1.1 Αντικείμενο διπλωματικής εργασίας... 4 1.2 Διάρθρωση διπλωματικής εργασίας... 4 ΚΕΦΑΛΑΙΟ 2: CLOUD COMPUTING... 6 2.1 Εισαγωγή στο Cloud Computing (Υπολογιστικό Νέφος)... 6 2.2 Ιστορική αναδρομή... 7 2.3 Βασικά χαρακτηριστικά... 8 2.4 Μοντέλα υπηρεσιών... 9 2.5 Μοντέλα ανάπτυξης... 10 2.6 Πλεονεκτήματα... 12 2.7 Μειονεκτήματα... 13 2.8 Κόστος του cloud computing... 14 ΚΕΦΑΛΑΙΟ 3: ΒΑΣΙΚΟΙ ΠΑΡΟΧΟΙ ΥΠΗΡΕΣΙΩΝ CLOUD... 16 3.1 Amazon... 16 3.2 Microsoft... 16 3.3 IBM... 17 3.4 Google... 17 3.5 Salesforce... 17 ΚΕΦΑΛΑΙΟ 4: ΧΡΗΣΗ GOOGLE APP ENGINE SDK ΓΙΑ PHP... 19 4.1 Google App Engine... 19 4.2 Google Cloud SQL... 25 4.3 MySQL Client... 28 ΚΕΦΑΛΑΙΟ 5: ΕΦΑΡΜΟΓΗ My Calendar... 33 5.1 Ανάλυση της εφαρμογής... 33 5.2 Πλοήγηση στην εφαρμογή... 34 5.3 Μελλοντική βελτίωση... 40 ΚΕΦΑΛΑΙΟ 6: ΣΥΜΠΕΡΑΣΜΑΤΑ... 42 6.1 Αποτίμηση του cloud computing... 42 6.2 Η κατάσταση στην Ελλάδα και οι προοπτικές ανάπτυξης του cloud computing 42 ΒΙΒΛΙΟΓΡΑΦΙΑ... 45 ΠΑΡΑΡΤΗΜΑ... 46 3

ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ 1.1 Αντικείμενο διπλωματικής εργασίας Το αντικείμενο της παρούσας διπλωματικής εργασίας είναι η ανάπτυξη μιας cloud εφαρμογής για διαδικτυακές υπηρεσίες. Η υπηρεσία θα βρίσκεται στην υποδομή νέφους της Google και οι τελικοί χρήστες θα μπορούν να έχουν πρόσβαση στην υπηρεσία μέσω ενός φυλλομετρητή ιστού (web browser) χωρίς περιορισμούς, καθώς δεν υπάρχει εξάρτηση ούτε από το υλικό, δηλαδή τις συσκευές από τις οποίες επιχειρεί να εισέλθει ο χρήστης στην εφαρμογή, ούτε από το λογισμικό, δηλαδή το λειτουργικό σύστημα που «τρέχει» η κάθε συσκευή. Συγκεκριμένα, η εφαρμογή αφορά ένα προσωπικό ημερολόγιο. Είναι μια ψηφιακή εκδοχή της κλασικής ατζέντας που γνωρίζουμε όλοι και χρησιμοποιούμε συχνά με σκοπό να οργανώνουμε καλύτερα και πιο αποδοτικά το χρόνο μας. Σκοπός είναι να προσεγγίσει όσο το δυνατόν ακριβέστερα το προσωπικό ημερολόγιο που ξέρουμε από την καθημερινότητά μας παρέχοντας μια γρήγορη και εύκολη λύση για το «καρφίτσωμα» γεγονότων πάνω σε έναν πίνακα, ώστε να έχουμε μια πλήρη εικόνα για τις προγραμματισμένες εργασίες μας. Καθένας που επιθυμεί να κάνει χρήση της εν λόγω υπηρεσίας, αφού πρώτα δημιουργήσει τον προσωπικό του λογαριασμό με τα δικά του στοιχεία (username και password), μπορεί να έχει πρόσβαση στην παρεχόμενη υπηρεσία. Η προσπάθεια επικεντρώθηκε κυρίως στην παρουσίαση μιας απλής και εύχρηστης εφαρμογής και δόθηκε ιδιαίτερη έμφαση στο λειτουργικό κομμάτι, ώστε και ο πλέον άπειρος χρήστης να κατανοεί τη διαδικασία και να μπορεί να χρησιμοποιεί την εφαρμογή εύκολα και γρήγορα για τις καθημερινές του εργασίες οργανώνοντας το πρόγραμμά του. Οι λειτουργίες της εφαρμογής περιγράφονται αναλυτικά στη συνέχεια με τη βοήθεια διαφωτιστικών screenshots. Η επιλογή της συγκεκριμένης πλατφόρμας της Google υπαγορεύτηκε από τους εξής λόγους: Πρόκειται για ένα πανίσχυρο εργαλείο με την αξιοπιστία που προσδίδει το όνομα του παγκόσμιου κολοσσού στο χώρο των υπολογιστών, της Google. Αποτελεί μια ολοκληρωμένη λύση για την ανάπτυξη εφαρμογών cloud προσφέροντας όλα τα εργαλεία που απαιτούνται τόσο για τη δημιουργία όσο και για τη διαχείρισή τους. Υποστηρίζει μερικές από τις διασημότερες γλώσσες προγραμματισμού διευκολύνοντας την υλοποίηση εφαρμογών από την πλευρά των δημιουργώνπρογραμματιστών. Προτιμήθηκε σε σχέση με ανταγωνιστικές λύσεις, καθώς διαθέτει πληρέστερο documentation και μπορεί κανείς να βρει εύκολα ο,τιδήποτε τον ενδιαφέρει. 1.2 Διάρθρωση διπλωματικής εργασίας Η διπλωματική εργασία αποτελείται από τον Τόμο της εργασίας, το CD και, φυσικά, την εφαρμογή που βρίσκεται στην υποδομή «νέφους» της Google. Ο Τόμος οργανώνεται σε 6 κεφάλαια: Το παρόν 1 ο κεφάλαιο αποτελεί την εισαγωγή, η οποία δίνει μια σύντομη περιγραφή του αντικειμένου που πραγματεύεται η εργασία και παρουσιάζει το γενικό πλάνο της. 4

Στο 2 ο κεφάλαιο δίνεται ο ορισμός και αποσαφηνίζεται η έννοια του όρου «cloud computing». Παράλληλα, παρουσιάζεται το θεωρητικό υπόβαθρο που πρέπει να κατέχει όποιος διαβάζει την παρούσα εργασία. Έπειτα από μια σύντομη ιστορική αναδρομή παραθέτονται τα βασικά χαρακτηριστικά του cloud και τα μοντέλα με βάση τόσο την προσφερόμενη υπηρεσία όσο και την αποκλειστικότητα χρήσης. Τέλος, γίνεται επισκόπηση των σημαντικότερων πλεονεκτημάτων και μειονεκτημάτων του cloud. Στο 3 ο κεφάλαιο γίνεται μια σύντομη αναφορά στους βασικότερους παρόχους υπηρεσιών cloud. Στο 4 ο κεφάλαιο παρουσιάζεται το λογισμικό που χρησιμοποιήθηκε για την υλοποίηση της εφαρμογής. Περιγράφεται διεξοδικά το Google App Engine SDK για PHP, το Google Cloud SQL καθώς και το MySQL Client. Στο 5 ο κεφάλαιο, που είναι και το κυριότερο της εργασίας, αναλύεται η εφαρμογή My Calendar και παρουσιάζονται βήμα-βήμα οι λειτουργίες της. Επίσης, γίνονται και κάποιες παρατηρήσεις σχετικά με ζητήματα που επιδέχονται μελλοντικής βελτίωσης. Στο 6 ο κεφάλαιο, που αποτελεί τον επίλογο της διπλωματικής εργασίας, διατυπώνονται τα συμπεράσματα στα οποία καταλήξαμε και γίνεται αναφορά στο μέλλον που προδιαγράφεται στο χώρο του cloud computing. Στο Παράρτημα, τέλος, περιλαμβάνεται ο κώδικας που χρησιμοποιήθηκε για την ανάπτυξη της εφαρμογής. 5

ΚΕΦΑΛΑΙΟ 2: CLOUD COMPUTING 2.1 Εισαγωγή στο Cloud Computing (Υπολογιστικό Νέφος) Το cloud computing (υπολογιστικό νέφος ή νέφος είναι η ελληνική ερμηνεία του όρου) αποτελεί ένα νέο επιχειρηματικό μοντέλο παροχής υπηρεσιών, το οποίο πρόκειται να απασχολήσει σε μεγάλο βαθμό τα επόμενα χρόνια το ενδιαφέρον των επιστημόνων που ασχολούνται με την Τεχνολογία Πληροφοριών (Information Technology). Παρέχει υπηρεσίες υπολογισμού, λογισμικού, διαμοιρασμού πόρων, πρόσβασης σε πληροφορίες και αποθήκευσης δεδομένων χωρίς να απαιτείται η γνώση της γεωγραφικής θέσης και της διαμόρφωσης του συστήματος από τον τελικό χρήστη. Το cloud computing συνιστά μια τεράστια αλλαγή στον τρόπο με τον οποίο παρέχονται οι υπολογιστικοί πόροι, καθώς επιτρέπει την ανάκτηση πληροφοριών, την επεξεργασία και την αποθήκευση δεδομένων και τη χρήση εφαρμογών όπου και αν βρισκόμαστε χωρίς την απαίτηση για αγορά και εγκατάσταση των συγκεκριμένων υπηρεσιών. Η λειτουργία του παρουσιάζει αρκετές ομοιότητες με αυτή του δικτύου ηλεκτρικής ενέργειας, όπου οι τελικοί χρήστες καταναλώνουν ενέργεια δίχως να χρειάζεται να κατανοήσουν τις υποδομές που απαιτούνται για την παροχή της υπηρεσίας. Έχουν γίνει αρκετές προσπάθειες σχετικά με τον ακριβή ορισμό της έννοιας, οι οποίες ωστόσο δεν καλύπτουν εξ ολοκλήρου τις πτυχές του μοντέλου με αποτέλεσμα τη σύγχυση γύρω από τον πλήρη προσδιορισμό των υπηρεσιών νέφους. Πληρέστερος και ακριβέστερος θεωρείται ο ορισμός που δίνει το National Institute of Standards and Technology δημιουργώντας έναν πρότυπο κοινό κώδικα επικοινωνίας σχετικά με το cloud computing, που συμβάλλει στην ευκολότερη και αποτελεσματικότερη ανταλλαγή απόψεων μεταξύ των ενδιαφερομένων γύρω από το συγκεκριμένο θέμα. Το cloud computing είναι ένα μοντέλο που επιτρέπει ευέλικτη, on-demand δικτυακή πρόσβαση σε ένα κοινόχρηστο σύνολο παραμετροποιήσιμων υπολογιστικών πόρων (όπως δίκτυα, εξυπηρετητές, αποθηκευτικό χώρο, εφαρμογές και υπηρεσίες), το οποίο μπορεί να τροφοδοτηθεί γρήγορα και να είναι διαθέσιμο με την ελάχιστη προσπάθεια διαχείρισης και αλληλεπίδρασης από τον πάροχο της συγκεκριμένης υπηρεσίας. Το συγκεκριμένο μοντέλο προωθεί την διαθεσιμότητα και αποτελείται από πέντε σημαντικά χαρακτηριστικά, τρία μοντέλα παροχής υπηρεσιών και τέσσερα μοντέλα ανάπτυξης. Πρόκειται στην ουσία για ένα μοντέλο εύκολης πρόσβασης σε απομακρυσμένα sites, η οποία παρέχεται μέσω του Διαδικτύου. Συχνά παίρνει τη μορφή εργαλείων που βασίζονται στο Web (web-based εφαρμογών), όπου οι χρήστες μπορούν να έχουν άμεση πρόσβαση μέσα από ένα πρόγραμμα περιήγησης (web browser). Με απλά λόγια, δηλαδή, αντί να διατηρεί ο χρήστης το δικό του περιβάλλον υλικού και λογισμικού, το νέφος παρέχει υπολογιστικούς πόρους σύμφωνα με τη ζήτηση (on-demand) μέσω ενός παρόχου υπηρεσιών. Συνεπώς, οι υπολογιστικοί πόροι μπορούν να διαμορφώνονται δυναμικά ανάλογα με τις απαιτήσεις του χρήστη κάθε φορά. Έτσι, οι χρήστες πληρώνουν αποκλειστικά και μόνο για τις υπηρεσίες που χρησιμοποιούν και δεν απαιτείται καμία γνώση σχετικά με την τεχνολογία που χρησιμοποιείται στο σύστημα, η διαχείριση του οποίου γίνεται από τον πάροχο. Το cloud computing περιλαμβάνει κάθε υπηρεσία την οποία πληρώνουμε ανάλογα με την χρήση (pay-per-use) των υπολογιστικών πόρων σε πραγματικό χρόνο (real-time εφαρμογές). Η ανάγκη επέκτασης τέτοιων συστημάτων προβάλλει ως μονόδρομος αν λάβουμε υπόψη τις δυνατότητες που προσφέρονται με 6

την ανάπτυξη του cloud computing τόσο όσον αφορά την αντικατάσταση της συνεχούς χρέωσης υπηρεσιών από αυτή της χρέωσης σύμφωνα με τη χρήση της εκάστοτε υπηρεσίας όσο και από την επιθυμία των εταιριών να μειώσουν σημαντικά τα έξοδα που σχετίζονται με τη διαχείριση των πόρων υλικού και λογισμικού. Εικόνα 2.1 Υπολογιστικό «νέφος» 2.2 Ιστορική αναδρομή Η πρωταρχική ιδέα της διανομής υπολογιστικών πόρων μέσω ενός παγκόσμιου δικτύου έχει τις ρίζες της στη δεκαετία του 1960. Σχεδόν όλα τα σύγχρονα χαρακτηριστικά του cloud, η σύγκρισή του με τη βιομηχανία ηλεκτρικής ενέργειας και οι διάφορες μορφές του είχαν διερευνηθεί στο βιβλίο του Douglas Parkhill s, The Challenge of the Computer Utility το 1966. Ο όρος cloud προέρχεται από τον κλάδο της τηλεφωνίας όπου οι τηλεπικοινωνιακές εταιρίες, οι οποίες μέχρι το 1990 προσέφεραν αποκλειστικά point-to-point συνδέσεις, άρχισαν να προσφέρουν υπηρεσίες Εικονικών Ιδιωτικών Δικτύων (Virtual Private Network - VPN) με συγκρίσιμη ποιότητα υπηρεσίας αλλά με χαμηλότερο κόστος. Το σύμβολο του cloud (σύννεφο) χρησιμοποιήθηκε για να υποδηλώσει το σημείο οριοθέτησης ανάμεσα στο πεδίο ευθύνης του παρόχου και σε αυτό του καταναλωτή. Το νέφος επεκτείνει αυτό το όριο για να καλύψει τους servers καθώς και την υποδομή του δικτύου. Η πρώτη επιστημονική χρήση του όρου cloud computing έγινε σε μια διάλεξη το 1997 από τον Ramnath Chellappa. Η ιδέα ενός παγκόσμιου δικτύου υπολογιστών παρουσιάστηκε πρώτη φορά τη δεκαετία του 1960 από τον JCR Licklider, ο οποίος ήταν υπεύθυνος για την ανάπτυξη του ARPANET (Advanced Research Projects Agency Network). Το όραμά του ήταν 7

όλοι στον πλανήτη να μπορούν να διασυνδεθούν και να έχουν πρόσβαση σε δεδομένα και εφαρμογές σε κάθε δικτυακό τόπο από οπουδήποτε. Ήταν, λοιπόν, ένα όραμα που μοιάζει σε μεγάλο βαθμό με αυτό που σήμερα ονομάζουμε «νέφος». Άλλοι ειδικοί αποδίδουν την αρχική προέλευση της έννοιας στον John McCarthy, καθηγητή στο MIT, ο οποίος το 1961 πρότεινε την ιδέα οι υπολογιστικοί πόροι να μπορούν να διανέμονται σαν υπηρεσίες κοινής ωφέλειας και παρουσίασε την πληροφορική ως ένα εργαλείο παρόμοιο με τον ηλεκτρισμό. 2.3 Βασικά χαρακτηριστικά Τα πέντε σημαντικά λειτουργικά χαρακτηριστικά του cloud computing είναι τα εξής: On-demand self-service: Παρέχονται στον καταναλωτή μονομερώς υπολογιστικοί πόροι, όπως ο χρόνος χρήσης του server και το μέγεθος του αποθηκευτικού χώρου, οι οποίοι δεσμεύονται μέσω του δικτύου αυτόματα ανάλογα με τις ανάγκες του χωρίς να απαιτείται ανθρώπινη αλληλεπίδραση με το φορέα παροχής κάθε υπηρεσίας. Broad network access: Οι υπολογιστικοί πόροι είναι διαθέσιμοι μέσω του δικτύου και προσβάσιμοι μέσω τυποποιημένων μηχανισμών που προωθούν τη χρήση ετερογενών τερματικών συσκευών στην πλευρά του τελικού χρήστη, όπως κινητά τηλέφωνα, φορητούς υπολογιστές, PDAs. Resource pooling: Οι υπολογιστικοί πόροι του παρόχου χρησιμοποιούνται για να εξυπηρετήσουν παράλληλα πολλούς καταναλωτές ακολουθώντας το μοντέλο πολλαπλών εκμισθωτών (multi-tenant), με τους διάφορους φυσικούς και εικονικούς πόρους να ανατίθενται δυναμικά και εκ νέου ανάλογα με τη ζήτηση των καταναλωτών. Δίνεται μια αίσθηση ανεξαρτησίας όσον αφορά τη φυσική τοποθεσία, καθώς ο καταναλωτής δεν έχει κανέναν έλεγχο ή γνώση σχετικά με την ακριβή τοποθεσία των παρεχόμενων πόρων, αλλά μπορεί να είναι σε θέση να προσδιορίσει σε ένα πιο αφηρημένο επίπεδο την τοποθεσία, όπως χώρα, περιοχή, πόλη ή data center. Παραδείγματα παρεχόμενων πόρων αποτελούν η επεξεργαστική ισχύς, η μνήμη, το εύρος ζώνης (bandwidth) του δικτύου και οι εικονικές μηχανές (virtual machines). Rapid elasticity: Οι πόροι μπορούν να δεσμευτούν προς χρήση γρήγορα και με ευέλικτο τρόπο, σχεδόν άμεσα και αυτόματα, έτσι ώστε να εμφανίζονται στον καταναλωτή ως απεριόριστοι και διαθέσιμοι προς αγορά ανά πάσα στιγμή. Measured service: Τα συστήματα cloud έχουν τη δυνατότητα να ελέγχουν και να βελτιστοποιούν αυτόματα τη χρήση των υπολογιστικών πόρων αξιοποιώντας μηχανισμούς μέτρησης ανάλογα με τον τύπο της προσφερόμενης υπηρεσίας. Η χρήση των πόρων μπορεί να παρακολουθείται, να ελέγχεται και να καταγράφεται παρέχοντας διαφάνεια και στις δύο πλευρές, τόσο του καταναλωτή-χρήστη όσο και του παρόχου της υπηρεσίας. 8

Εικόνα 2.2 Απεικόνιση ορισμού NIST για την αρχιτεκτονική του cloud computing 2.4 Μοντέλα υπηρεσιών Το cloud computing μπορεί να διακριθεί σε τρεις κατηγορίες με βάση το είδος της προσφερόμενης υπηρεσίας: Software as a Service (SaaS): Παρέχεται στον καταναλωτή η δυνατότητα να χρησιμοποιεί τις εφαρμογές του παρόχου που «τρέχουν» σε μια υποδομή cloud. Οι εφαρμογές είναι προσβάσιμες μέσα από διεπαφές ή εργαλεία, όπως ένα πρόγραμμα περιήγησης στον Παγκόσμιο Ιστό (π.χ. web-based email). Ο καταναλωτής δεν διαχειρίζεται ούτε ελέγχει την υποδομή, συμπεριλαμβανομένου του δικτύου, των εξυπηρετητών, των λειτουργικών συστημάτων, του αποθηκευτικού χώρου ή ακόμη και μεμονωμένων δυνατοτήτων της εφαρμογής, με πιθανή εξαίρεση κάποιων περιορισμένων ρυθμίσεων παραμετροποίησης των εφαρμογών από τον εκάστοτε χρήστη. Platform as a Service (PaaS): Προσφέρεται στο χρήστη η δυνατότητα να αναπτύσσει, να δοκιμάζει, να διαθέτει και να συντηρεί πάνω στην υποδομή cloud εφαρμογές που είτε έχει δημιουργήσει ο ίδιος είτε έχει αποκτήσει από τρίτους. Οι εν λόγω εφαρμογές δημιουργούνται με τη χρήση γλωσσών προγραμματισμού και εργαλείων που υποστηρίζονται από τον πάροχο της υπηρεσίας. Στην προκειμένη περίπτωση ο καταναλωτής δεν διαχειρίζεται ούτε έχει τον έλεγχο της υποκείμενης υποδομής συμπεριλαμβανομένου του δικτύου, των εξυπηρετητών, των λειτουργικών συστημάτων και του αποθηκευτικού χώρου, αλλά ελέγχει τις εφαρμογές που έχουν αναπτυχθεί και έχει τη δυνατότητα παραμετροποίησης του περιβάλλοντος φιλοξενίας των εφαρμογών. Οι πάροχοι υπηρεσιών PaaS συνήθως προσφέρουν έναν ομαδοποιημένο συνδυασμό λογισμικού και υποδομής σε μορφή προγραμματιζόμενου περιβάλλοντος. Infrastructure as a Service (IaaS): Δίνεται η δυνατότητα στο χρήστη να αναπτύσσει και να «τρέχει» αυθαίρετο λογισμικό, που μπορεί να 9

περιλαμβάνει λειτουργικά συστήματα και εφαρμογές, χρησιμοποιώντας βασικούς υπολογιστικούς πόρους, όπως επεξεργαστική ισχύ, αποθηκευτικά μέσα και δίκτυα. Ο καταναλωτής δεν διαχειρίζεται ούτε ελέγχει την υποδομή, αλλά μπορεί να έχει τον έλεγχο σε λειτουργικά συστήματα, μνήμες, εφαρμογές και πιθανόν περιορισμένο έλεγχο σε επιλεγμένα μέρη του εξοπλισμού της δικτύωσης (π.χ. host firewalls). Εικόνα 2.4 Μοντέλα υπηρεσιών 2.5 Μοντέλα ανάπτυξης Το cloud computing με βάση την αποκλειστικότητα χρήσης διακρίνεται σε τέσσερις κατηγορίες: Private cloud (Ιδιωτικό cloud): Η υποδομή του cloud λειτουργεί αποκλειστικά και μόνο για ένα συγκεκριμένο οργανισμό. Μπορεί να βρίσκεται είτε στις κτιριακές υποδομές του οργανισμού είτε εκτός αυτών. Η διαχείριση της υποδομής μπορεί να γίνεται από τον ίδιο τον οργανισμό ή από κάποιον τρίτο. Οι χρήστες μπορούν να ελέγξουν και να τροποποιήσουν το μέγεθος των πόρων μέσω μιας διεπαφής διαδικτυακής υπηρεσίας, όπως ακριβώς και στο δημόσιο cloud. Επειδή, όμως, έχει εφαρμοστεί στα πλαίσια ενός ήδη υπάρχοντος data center κάποιου οργανισμού, το private cloud υπόκειται στους φυσικούς και ηλεκτρονικούς περιορισμούς ασφάλειας του οργανισμού και, επομένως, παρέχει ανώτερο επίπεδο ασφάλειας σε ευαίσθητα δεδομένα και κώδικα. Επιπρόσθετα, τα private clouds σταθεροποιούν και βελτιστοποιούν την απόδοση ενός ήδη υπάρχοντος hardware σε ένα συγκεκριμένο data center μέσω της τεχνολογίας του Virtualization που χρησιμοποιούν βελτιώνοντας έτσι σε μεγάλο βαθμό την αποτελεσματικότητα του data center και μειώνοντας παράλληλα το λειτουργικό κόστος. Community cloud (Κοινοτικό cloud): Η υποδομή του cloud είναι διαμοιρασμένη σε πολλούς οργανισμούς και υποστηρίζει προκαθορισμένες κοινότητες που μπορεί να έχουν κοινές απαιτήσεις σε επίπεδο ασφάλειας, λειτουργικότητας και πολιτικής. Η διαχείριση μπορεί να γίνεται είτε από τους προαναφερθέντες οργανισμούς είτε από κάποιο τρίτο μέρος που αναλαμβάνει 10

την εποπτεία του cloud. Τα community clouds επιτρέπουν την ύπαρξη πολλαπλών ανεξάρτητων οντοτήτων. Το συγκεκριμένο μοντέλο προσδίδει τεράστιες δυνατότητες σε οργανισμούς που υπόκεινται σε ρυθμιστικές συμμορφώσεις και περιορισμούς. Τα κοινοτικά clouds θεωρούνται από τις Ηνωμένες Πολιτείες Αμερικής και την Ευρωπαϊκή Ένωση ως τοπικά επίπεδα, γεγονός που παρέχει πολλαπλάσια οφέλη στους οργανισμούς τόσο ως μεμονωμένες οντότητες όσο και συλλογικά. Public cloud (Δημόσιο cloud): Η υποδομή του cloud είναι διαθέσιμη στο ευρύ κοινό ή σε μια μεγάλη ομάδα από οργανισμούς και ανήκει σε μια εταιρία που παρέχει υπηρεσίες cloud. Στην συνηθέστερη εκδοχή του το δημόσιο cloud είναι διαθέσιμο στον τελικό χρήστη μέσω μιας διαδικτυακής διεπαφής και η χρέωση γίνεται σύμφωνα με το μοντέλο pay-as-you-go (πληρώνεις όσο χρησιμοποιείς). Τα public clouds προσφέρουν πρόσβαση σε μια πολύ μεγάλη υποδομή άμεσα επεκτάσιμων υπολογιστικών πόρων χωρίς να απαιτείται κάποια επιπλέον επένδυση κεφαλαίων για την ανάπτυξη των υποδομών του data center. Οι πάροχοι τέτοιων υπηρεσιών διαμορφώνουν, επομένως, μια υποδομής τεράστιας δυναμικότητας που απευθύνεται σε ένα ευρύ φάσμα πελατών. Τα δεδομένα μπορούν να αποθηκευθούν σε κοινά μέσα αποθήκευσης, πράγμα που καθιστά απαραίτητη την κωδικοποίηση των δεδομένων για μεγαλύτερη ασφάλεια. Πρέπει να τονισθεί σε αυτό το σημείο ότι οι παρεχόμενες υπηρεσίες του public cloud αντιμετωπίζονται με εμπιστοσύνη από τους συνδρομητές, οι οποίοι αποδεχόμενοι πλήρως τις πολιτικές των οργανισμών που προσφέρουν τέτοιες υπηρεσίες αναπτύσσουν ένα επίπεδο εμπιστοσύνης σχετικά με την προστασία των δεδομένων και του ιδιωτικού απορρήτου. Τα τελευταία χρόνια έχει υπάρξει τεράστια ανάπτυξη του public cloud με αποτέλεσμα την προσφορά μεγάλου πλήθους υπηρεσιών από εταιρίες όπως η Amazon με την υπηρεσία EC2 (IaaS) και η Google με την υπηρεσία Google Apps Engine (PaaS). Hybrid cloud (Υβριδικό cloud): Η υποδομή του cloud είναι μια σύνθεση δύο ή περισσότερων clouds (private, community, public) που παραμένουν μοναδικές οντότητες αλλά συνδέονται μεταξύ τους με τεχνολογία που επιτρέπει τη φορητότητα δεδομένων και εφαρμογών. Ένας οργανισμός εφαρμόζει εκείνο το μοντέλο cloud που του προσφέρει τη βέλτιστη λύση κάθε φορά. Αν, για παράδειγμα, μια εξειδικευμένη εφαρμογή απαιτεί σημαντικές προδιαγραφές ασφάλειας ενδέχεται να είναι κατάλληλο ένα private cloud, ενώ για μια γενική εφαρμογή που υλοποιείται για ένα προσωρινό έργο, το οποίο πρόκειται να ολοκληρωθεί σε προκαθορισμένο χρονικό διάστημα, απαιτείται ένα public cloud που μετά την ολοκλήρωση του έργου παύει η χρήση του. Συνεπώς, ένας οργανισμός επιλέγει κάθε φορά το συνδυασμό εκείνων των μοντέλων cloud που ανταποκρίνεται καλύτερα στις εκάστοτε ανάγκες του δημιουργώντας έτσι ένα υβριδικό μοντέλο για την επίτευξη των στόχων του. 11

Εικόνα 2.5 Μοντέλα ανάπτυξης 2.6 Πλεονεκτήματα Το cloud computing είναι ένα σχετικά νέο επιχειρηματικό μοντέλο που δεν έχει εδραιωθεί ακόμη σε μεγάλο βαθμό. Ωστόσο, τα πλεονεκτήματα που προσφέρει είναι ιδιαίτερα σημαντικά και, για αυτό το λόγο, θεωρείται σήμερα ως μια εικόνα από το μέλλον όσον αφορά τον τρόπο πρόσβασης και χρήσης των υπολογιστικών πόρων. Είναι αναγκαίο στο σημείο αυτό να τονιστεί ότι τα πλεονεκτήματα που παρουσιάζονται παρακάτω δεν είναι τα μοναδικά, καθώς το υπολογιστικό νέφος αποτελεί ένα νέο αντικείμενο στο χώρο της Πληροφορικής που εξελίσσεται διαρκώς και με την πάροδο του χρόνου προκύπτουν συνεχώς καινούρια δεδομένα. Ξεκινώντας με τα κυριότερα οφέλη του cloud computing μπορούμε να συμφωνήσουμε ότι το συγκεκριμένο μοντέλο παροχής υπηρεσιών παρουσιάζει τα εξής πλεονεκτήματα: Τιμολόγηση υπηρεσίας: Οι χρήστες καταναλώνουν υπολογιστικούς πόρους on-demand πληρώνοντας ανάλογα με τη χρήση που κάνουν. Έτσι, όσον αφορά εταιρικά περιβάλλοντα, πληρώνουν χρήματα από τον προϋπολογισμό για τις λειτουργικές δαπάνες αντί να πληρώνουν εξ αρχής για πόρους που θα ανήκαν στις κεφαλαιακές δαπάνες. Το γεγονός αυτό είναι ιδιαίτερα ελκυστικό για πολλές νέες επιχειρήσεις, καθώς με τον τρόπο αυτό διαθέτουν υπολογιστικούς πόρους που δεν θα είχαν σε διαφορετική περίπτωση. Πιο συγκεκριμένα, η προσέγγιση pay-per-use προσελκύει αρκετές μικρές και μεσαίες επιχειρήσεις που δεν έχουν τη δυνατότητα να επενδύσουν σε πολύπλοκες και δαπανηρές υποδομές που κοστίζουν ακριβά. Δίνεται, επομένως, η δυνατότητα να αγοράζουν μόνο τις υπηρεσίες που χρειάζονται και μόνο για το χρονικό διάστημα που απαιτείται καταβάλλοντας το σχετικό αντίτιμο αποφεύγοντας άσκοπα έξοδα και πάγιες δαπάνες που επιβαρύνουν τον οικονομικό προϋπολογισμό τους. Με άλλα λόγια, οι εταιρίες αντί να διατηρούν ένα data center με ακριβό εξοπλισμό και λογισμικό που ενδέχεται να μένουν αχρησιμοποίητα για ένα αρκετά μεγάλο χρονικό διάστημα μπορούν να «νοικιάζουν» υπολογιστικούς πόρους, όταν και όσους χρειάζονται και για 12

το διάστημα που αυτοί είναι απαραίτητοι. Έτσι, αντί για μεγάλες επενδύσεις σε συστήματα πληροφορικής, πληρώνουν μια μικρή, μηνιαία ή ετήσια, συνδρομή στρέφοντας τις επενδύσεις τους σε πραγματικές ευκαιρίες ανάπτυξής τους. Αυξημένη ευελιξία: Μακροπρόθεσμες υποχρεώσεις όπως η αγορά λογισμικού ή υλικού απαιτούν ακριβή σχεδιασμό για μακροπρόθεσμες ανάγκες. Αντίθετα, στην περίπτωση του cloud computing ο προγραμματισμός γίνεται για μικρότερες χρονικές περιόδους, επομένως οι αυξομειώσεις στη ζήτηση υπολογιστικών πόρων καλύπτονται επαρκώς τη χρονική στιγμή που παρουσιάζονται και για όσο οι πόροι αυτοί είναι αναγκαίοι. Ταχύτητα υλοποίησης: Σε μια εγκατάσταση ενός νέου πληροφοριακού συστήματος υπάρχουν διάφορες χρονοβόρες εργασίες που απαιτούνται να γίνουν όπως καθορισμός προδιαγραφών, παραγγελία, παραλαβή, εγκατάσταση, ρυθμίσεις, έλεγχοι, κλπ που μπορεί να διαρκέσουν αρκετά μεγάλα χρονικά διαστήματα, ακόμη και μήνες σε ορισμένες περιπτώσεις. Στο cloud αντίστοιχες υποδομές μπορούν να αρχίσουν να λειτουργούν σε λίγα λεπτά και το «στήσιμο» ολόκληρης της λύσης μπορεί να ολοκληρωθεί μέσα σε κάποιες ώρες. Πρόσβαση από παντού: Οι διαδικτυακές εφαρμογές παρέχουν τη δυνατότητα πρόσβασης από οποιοδήποτε σημείο χωρίς να απαιτείται η εγκατάσταση λογισμικού VPN. Το cloud computing, δηλαδή, υπόσχεται πρόσβαση σε υψηλής ισχύος υπολογιστικούς πόρους σε οποιονδήποτε διαθέτει μια συσκευή με πρόσβαση στο διαδίκτυο, γεγονός που βοηθά στη διευκόλυνση ανάληψης πρωτοβουλιών τηλεργασίας. Υψηλός ανταγωνισμός χαμηλότερες τιμές: Όταν ξεκίνησαν οι υπηρεσίες cloud της Amazon προσέφεραν on-line storage σε ένα data center. Σήμερα, η Amazon προσφέρει περισσότερες υπηρεσίες σε σημαντικά χαμηλότερες τιμές. Πλέον στο χώρο δραστηριοποιούνται δυναμικά εταιρείες-κολοσσοί όπως η Microsoft και η Google που διαθέτουν cloud offerings στο καταναλωτικό κοινό. Επομένως, αυτός που κερδίζει από όλο αυτό είναι φυσικά ο πελάτης, οι μικρές και μεσαίες επιχειρήσεις μια και οι προσφερόμενες επιλογές συνεχώς αυξάνονται και γίνονται πιο ελκυστικές. Το cloud computing πιστεύεται ότι μπορεί να συμβάλλει στη μείωση της εκπομπής διοξειδίου του άνθρακα, καθώς υπηρεσίες πληροφορικής για επιχειρήσεις και οργανισμούς φιλοξενούνται στο «νέφος» και έτσι δεν υπάρχει ανάγκη για τοπικούς servers στο φυσικό τους χώρο, μιας και οι υπολογιστές βρίσκονται σε datacenters σχεδιασμένα για βέλτιστη ενεργειακή αποδοτικότητα. 2.7 Μειονεκτήματα Κατά την εξερεύνηση της υπηρεσίας για αποθήκευση δεδομένων Amazon S3 ώστε να εξετάσουν πώς ανταποκρίνεται σε επιστημονικές εφαρμογές υψηλών απαιτήσεων, οι Mayur et al (2008) διαπίστωσαν πως η εν λόγω υπηρεσία παρέχει μία μέθοδο τιμολόγησης για την παροχή και υποστήριξη των τριών χαρακτηριστικών δεδομένων, τα οποία είναι η υψηλή αντοχή (durability), η υψηλή διαθεσιμότητα (availability) και η γρήγορη πρόσβαση (access), μολονότι οι περισσότερες εφαρμογές δεν καλύπτουν και τις τρεις απαιτήσεις. Για παράδειγμα, η αποθήκευση αρχείων απαιτεί υψηλή αντοχή-όπως αυτή μεταφράζεται ως μεγάλος όγκος δεδομένων, αλλά 13

δεν χρειάζεται υψηλή διαθεσιμότητα ούτε ταχεία πρόσβαση. Επομένως, συστήνεται στην υπηρεσία να παρέχει υπηρεσίες και να τις κοστολογεί κλιμακωτά βάσει της απαιτούμενης αναλογίας αντοχής, διαθεσιμότητας, πρόσβασης. Άρα, παρέχονται υπηρεσίες που δεν χρειάζονται και το κόστος είναι υψηλότερο. Ο Lublinsky (2009) στην αναφορά του Clearing the air on Cloud Computing κάνει λόγο για υψηλότερα κόστη της χρήσης του cloud computing συγκριτικά με αυτά στέγασης εντός της επιχείρησης ενός κέντρου πληροφοριών. Παρόλα αυτά, αυτό είναι ένα ζήτημα που προκύπτει μόνο για τις μεγάλες επιχειρήσεις, ενώ οι μικρομεσαίες δείχνουν να μην επηρεάζονται απολαμβάνοντας τα οφέλη του cloud. Αυτό οφείλεται στο γεγονός ότι οι μικρομεσαίες επιχειρήσεις δεν έχουν τη δυνατότητα να επενδύσουν σε ένα τεράστιο κέντρο πληροφοριών, το οποίο σχετίζεται με επενδύσεις σε software και hardware. Η μεταβλητότητα του κόστους είναι το κλειδί για τη μεταφορά των επιχειρηματικών διαδικασιών σε υπηρεσίες νέφους, όταν οι επιχειρήσεις επιθυμούν τη βελτιστοποίηση της διαχείρισής του και τη δυνατότητα επεκτασιμότητας των εφαρμογών διαχείρισής του. Ένα, επίσης, ζήτημα που αναφέρεται ως μειονέκτημα και πρέπει να προσεχθεί ιδιαίτερα είναι η ασφάλεια των εφαρμογών που βρίσκονται σε υποδομές cloud. Όπως, άλλωστε, λένε οι ειδικοί καταδεικνύοντας την ανάγκη για περαιτέρω διερεύνηση: «Τα προσωπικά δεδομένα είναι το πετρέλαιο της νέας εποχής». Εγείρονται, επομένως, συνεχώς ενστάσεις γύρω από θέματα που άπτονται της ασφάλειας των προσωπικών δεδομένων. Οι χρήστες εμφανίζονται διστακτικοί καθώς το επίπεδο εμπιστοσύνης, ιδιαίτερα μετά τις τελευταίες αποκαλύψεις περί προστασίας των προσωπικών δεδομένων, έχει κλονιστεί και απαιτείται συνεχής προσπάθεια για εξέλιξη και βελτίωση των παρεχόμενων υπηρεσιών. Εδώ, ωστόσο, βρίσκεται και η μεγάλη ευκαιρία της αγοράς υπηρεσιών cloud. Πολλές επιχειρήσες ανησυχούν για την ασφάλεια και την αξιοπιστία των cloud υπηρεσιών. Παρόλα αυτά, είναι σαφές ότι οι πάροχοι υπηρεσιών cloud είναι πολύ ευκολότερο να σχεδιάσουν καλύτερες πολιτικές ασφάλειας από μια μικρομεσαία επιχείρηση γιατί αφενός μεν χρησιμοποιούν ειδικούς εμπειρογνώμονες και αφετέρου ακολουθούν πιστοποιημένες διαδικασίες ασφαλείας. Επειδή ακριβώς εξειδικεύονται στο συγκεκριμένο αντικείμενο, είναι ευκολότερο να κατασκευάσουν συστήματα υψηλής αξιοπιστίας ώστε να προστατεύουν και να υποστηρίζουν τα συστήματα χιλιάδων αντίστοιχων επιχειρήσεων. 2.8 Κόστος του cloud computing Το cloud computing έρχεται συχνά μαζί με την οικονομική έφεση η οποία ορίζει ότι «μετατρέπει έξοδα κεφαλαίου σε λειτουργικά έξοδα» (Armbrust et al., 2009). Οι επιχειρήσεις που χρησιμοποιούν το cloud computing πληρώνουν διαφορετικά ανάλογα με τη συμφωνία μεταξύ αυτών και των παρόχων της υπηρεσίας. Οι πάροχοι χρησιμοποιούν συνήθως οικονομικά μοντέλα που διαθέτουν ώστε να κοστολογούν ανάλογα με τη χρήση των υπηρεσιών που προσφέρουν (Khajeh- Hosseini et al., 2010β). Υπάρχουν διαθέσιμα στην αγορά τέτοιων υπηρεσιών αρκετά διαφορετικά μοντέλα κοστολόγησης. Το συνηθέστερο μοντέλο κοστολόγησης είναι αυτό που προτείνει ο Armbrust, το οποίο είναι ένα μοντέλο βραχυπρόθεσμης χρέωσης. Ο ίδιος περιγράφει το μοντέλο αυτό ως ένα από τα πιο ενδιαφέροντα και καινοτόμα χαρακτηριστικά του cloud computing. Τα οικονομικά ζητήματα που εγείρονται από την ανάπτυξη του cloud computing αποτελούν αντικείμενο εκτενούς και διαρκούς συζήτησης. Από τη σκοπιά 14

του πελάτη αναλύονται τα μοντέλα που υιοθετούνται από τους παρόχους και βάσει των οποίων καλείται ο καταναλωτής να πληρώσει. Γίνονται, λοιπόν, αντικείμενο μελέτης τα κόστη που επιβαρύνουν το χρήστη. Σύμφωνα με τον Armbrust το cloud computing παρέχει ένα μοντέλο κοστολόγησης το οποίο ακολουθεί τον κανόνα πληρωμής ανάλογα με τη χρήση των υπολογιστικών πόρων σε μια βραχυπρόθεσμη βάση οπότε απαιτείται και απαλλαγή από οποιαδήποτε οικονομική δέσμευση όταν οι πόροι δεν είναι πλέον απαραίτητοι. Επομένως, όποτε δεν χρειάζονται οι μηχανές και οι αποθηκευτικοί χώροι, αποδεσμεύονται (Armbrust et al., 2009). Ο Armbrust αποκαλεί αυτή τη μέθοδο κοστολόγησης «πληρώνεις όσο χρησιμοποιείς» ( pay as you go ). 15

ΚΕΦΑΛΑΙΟ 3: ΒΑΣΙΚΟΙ ΠΑΡΟΧΟΙ ΥΠΗΡΕΣΙΩΝ CLOUD Η ζήτηση στην αγορά αυξάνεται συνεχώς με ραγδαίους ρυθμούς και ταυτόχρονα αυξάνονται και οι πάροχοι που προσφέρουν υπηρεσίες cloud. Καθημερινά νέες εταιρίες ανά τον κόσμο προσανατολίζονται σε αυτή την κατεύθυνση και δραστηριοποιούνται στο συγκεκριμένο τομέα. Υπάρχουν, ωστόσο, εταιρίες κολοσσοί οι οποίες κυριαρχούν στα συστήματα cloud computing και παρέχουν αντίστοιχες υπηρεσίες. Οι συγκεκριμένες εταιρίες έχουν καθιερωθεί στο χώρο και έχουν εξειδικευθεί στην παροχή υπηρεσιών cloud. Παρακάτω γίνεται μια σύντομη επισκόπηση διάφορων αντιπροσωπευτικών παρόχων που δραστηριοποιούνται στο συγκεκριμένο τομέα στις μέρες μας. 3.1 Amazon Η Amazon αποτελεί κορυφαίο εμπορικό σήμα στο χώρο του ηλεκτρονικού εμπορίου. Στο χρονικό διάστημα που μεσολάβησε από την ίδρυσή της, η Amazon έχει εξελιχθεί από ένα on-line ηλεκτρονικό βιβλιοπωλείο σε μια πλατφόρμα λιανικής πώλησης και έπειτα στον κορυφαίο προμηθευτή cloud computing. Τόσο με την υπηρεσία απλής αποθήκευσης Amazon S3 (Simple Storage Service) αρχικά όσο και με την υπηρεσία EC2 (Elastic Compute Cloud) στη συνέχεια, η Amazon κατόρθωσε να καταστεί ηγέτιδα δύναμη στην παροχή υπηρεσιών cloud. Μάλιστα, η καινοτομία της Amazon και η πρωτοπορία της με την παρουσίαση των δύο προαναφερθέντων υπηρεσιών εισέπραξε από τον οικονομικό και τεχνολογικό τύπο της εποχής διθυραμβικές κριτικές και επαινετικά σχόλια. Η εταιρία σήμερα παρέχει την υποδομή cloud της επιτρέποντας στους χρήστες της να προσαρμόζουν τους υπολογιστικούς πόρους στις ανάγκες τους φιλοξενώντας εφαρμογές με ένα ελκυστικό μοντέλο τιμολόγησης και την εγγυημένη αξιοπιστία που προσδίδει το brand name της Amazon. 3.2 Microsoft Η είσοδος της Microsoft στο cloud computing αποτελεί σαφέστατη ένδειξη ανάπτυξης του συγκεκριμένου χώρου. Για μεγάλο χρονικό διάστημα επικεντρωνόταν στην αγορά του προσωπικού υπολογιστή (personal computer) θεωρώντας τις υπηρεσίες Διαδικτύου ως μη υποσχόμενη αγορά και θέτοντας άλλες προτεραιότητες. Ωστόσο, η σημαντική στροφή και η αλλαγή της στάσης έπειτα από τη συνειδητοποίηση της σπουδαιότητας του cloud computing καταδεικνύει με τον πιο ξεκάθαρο τρόπο την τεράστια ανάπτυξη του τομέα αυτού και την αυξανόμενη είσοδο νέων ανταγωνιστών στο χώρο. Η εμφάνιση, επομένως, του Windows Azure αποτελεί ένα γεγονός-σταθμό στην ιστορία του cloud computing, καθώς η μεγαλύτερη εταιρία λογισμικού παγκοσμίως έκανε μια ιδιαίτερα σημαντική επιλογή για το μέλλον επενδύοντας στην αγορά των υπηρεσιών cloud. Η υπηρεσία Windows Azure είναι μια πλατφόρμα υπολογιστικού νέφους που επιτρέπει στους χρήστες της να αναπτύσσουν εφαρμογές και να αποθηκεύουν δεδομένα. Ταξινομείται ως PaaS και αποτελείται από διάφορες υπηρεσίες που φιλοξενούνται σε βάσεις δεδομένων της Microsoft. Παρά τη σημαντική υποδομή και τη λειτουργική εμπειρία που διαθέτει η Microsoft, οι 16