Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425
Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Cloud Computing Εισαγωγή Η ανάπτυξηκαισχεδίαση εφαρμογών και συστημάτων με βάση το διαδίκτυο και την χρήση της τεχνολογίας των υπολογιστών Cloud από το σύμβολο του Διαδικτύου Public: Ορατό σε όλους Private: Ορατό σε άτομα με ειδική πρόσβαση Δεδομένα και κώδικας βρίσκονται μέσα στο cloud
Εισαγωγή Κατηγορίες Cloud Computing: IaaS Infrastructure as a Service PaaS Platform as a Service SaaS Software as a Service Παροχής: Google App Engine Microsoft Windows Azure Amazon EC2
Εισαγωγή Σχεδιάγραμμα Τεχνολογίες Cloud Computing Google App Engine Windows Azure Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Τεχνολογίες Cloud Computing Google App Engine Προσφορά δικτυακών εφαρμογών Υπηρεσίες από την Google: Mail URL Fetch Memcache Image Manipulation Datastore Εφαρμογές από την Google: Gmail for Business Google Calendar Google Docs
Τεχνολογίες Cloud Google App Engine Computing Γλώσσες προγραμματισμού: JAVA Java JDK App Engine Java SDK Eclipse Galileo App Engine plug-in Python Python >2.5 App Engine SDK Google App Engine Launcher Δημιουργία βάσης δεδομένων: GQL Google Query Language Ίδιες δύνατότητες με την SQL Τοπικός εικονικός εξυπηρετητής
Τεχνολογίες Cloud Computing Υπηρεσίες της Google URL Fetch: Εκτέλεση HTTP και HTTPS requests μέσω του App Engine για επικοινωνία με άλλους πόρους στο διαδίκτυο Memcache: Παρέχει memory cache service για υψηλής επίδοσης επεκτάσιμες δικτυακές εφαρμογές(javamemcache) Datastore: Υποστήριξη συναρτήσεων βάσης δεδομένων με την GQL Billing Service: Σε δωρεάν εκτέλεση δεν γνωρίζουμε τους πόρους που χρησιμοποιούνται από πίσω. Εάν πληρώσουμε τότε γνωρίζουμε τι χρησιμοποιούμε γιατι πληρώνουμε ανάλογα με το τι χρησιμοποιούμε
Τεχνολογίες Cloud App Engine Java SDK Computing Τρέχει εφαρμογές χρησιμοποιώντας Java 6 Virtual Machine App Engine SDΚ: Java 5 και μετά Java 6 JVM μπορεί να χρησιμοποιήσει κλάσεις μεταγλωττισμένες από οποιαδήποτε έκδοση του Java Compiler μέχρι και Java 6 Google App Engine Launcher Για την φόρτωση της εφαρμογής πάνω στο Cloud
Τεχνολογίες Cloud Computing Eclipse with Google plug-in
Τεχνολογίες Cloud Computing Google App Engine Launcher
Εισαγωγή Σχεδιάγραμμα Τεχνολογίες Cloud Computing Google App Engine Windows Azure Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Τεχνολογίες Cloud Computing Microsoft Windows Azure Λειτουργία 01/01/2010 Προσφορά δικτυακών εφαρμογών Windows Live ID και πρόσβαση στις εφαρμογές μέσω Web Browser Δημιουργία μέσα στο cloud Virtual Machine(VM) για εκτέλεση εφαρμογών Συστατικά Microsoft Windows Azure Platform: Windows Azure για την εκτέλεση εφαρμογών SQL Azure υπηρεσίες βάσεων δεδομένων σε SQL Server.NET Services κατανεμημένη υποδομή σε εφαρμογές
Τεχνολογίες Cloud Computing Microsoft Windows Azure Γλώσσες προγραμματισμού: C# Visual Basic C++ Microsoft Visual Studio 10 Beta 2 Windows: Vista Server 2008 7 (Seven) Επίπεδα Windows Azure: Compute επίπεδο εκτέλεσης Storage επίπεδο διαχείρησης δεδομένων Fabric επίπεδο διαχείρησης ολόκληρης της εφαρμογής
Τεχνολογίες Cloud Computing Παράδειγμα εφαρμογής
Εισαγωγή Σχεδιάγραμμα Τεχνολογίες Cloud Computing Google App Engine Windows Azure Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Περιγραφή εργασίας Αρχική ιδέα Word Count με προγραμματιστικό μοντέλο Map Reduce: Web application Εισαγωγή ενός μεγάλου αρχείου δεδομένων Καταμέτρηση εμφάνισης λέξεων στο αρχείο Σύγκριση των δύο υπηρεσιών (Google και Microsoft) Υλοποιήση: Java Απέτυχε: Εκτός από 1-2 δοκιμαστικές υλοποιήσεις, δεν υπάρχουν πραγματικές υλοποιήσεις του Map Reduce για το App Engine από την Google ακομα!
Περιγραφή εργασίας Τελική υλοποίηση Forum επικοινωνίας: Web application Login with Google Account Άφηνει μήνυμα ο επισκέπτης σε εμάς και κάνει logout Το μήνυμα αποθηκεύεται στη βάση δεδομένων Όλοι μπορούν να δούν το μήνυμα που αφήνει κάποιος μαζί με το όνομα του Υλοποιήση: Java Python
Περιγραφή εργασίας Δευτερεύοντες εφαρμογές Client Server: Αποστολή του ονόματος μας στον server και απάντηση του server με ένα μήνυμα χαιρετισμού next -> word: Μας δίνεται μια λέξη και σαν είσοδο δίνουμε την πρώτη λέξη που θα σκεφτούμεσεσχέσημετηναρχικήλέξη Το πρόγραμμα κρατά όλες τις λέξεις εισόδου και βγάζει και στατιστικά στοιχεία για την εμφάνιση της κάθε λέξης και του κάθε συνδιασμού HTTP Map Reduce: Δημιουργεία τυχαίων URLs από τυχαίες λέξεις ΔοκιμαστικήεφαρμογήγιατοMap Reduce για App Engine
Εισαγωγή Σχεδιάγραμμα Τεχνολογίες Cloud Computing Google App Engine Windows Azure Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Επιτεύγματα εργασίας Guestbook forum σε JAVA & PYTHON Δημιουργία forum με βάση δεδομένων Login Screen: Κουμπί Login γιαναδώσειτοemail του ο χρήστης και να κρατήσουμε το όνομα του Logout Screen: Αποσύνδεση του χρήστη αφού έχει αφήσει το μήνυμα του Φόρμα εισόδου: Γράφει το μήνυμα του ο χρήστης Post κουμπί: Καταχώρηση του μηνύματος στην βάση δεδομένων Υλοποιήσεις: Java: Python:
Επιτεύγματα εργασίας Οθόνες εποπτείας χρήση της εφαρμογής
Επιτεύγματα εργασίας Οθόνες εποπτείας Log files για αλληλεπιδράσεις με την εφαρμογή
Επιτεύγματα εργασίας Οθόνες εποπτείας εποπτεία βάσης δεδομένων
Επιτεύγματα εργασίας Guestbook forum σε JAVA Ενεργοποιήση χρέωσης και τιμές για κάθε είδος λειτουργίας
Επιτεύγματα εργασίας Guestbook forum σε JAVA Παρακολούθηση χρέωσης λειτουργιών
Επιτεύγματα εργασίας Τι μάθαμε Υλοποιήση κώδικα για Cloud Computing Web Applications Δημιουργία βάσης δεδομένων και χρήση της GQL Πρακτική εξάσκηση σε δικτυακές εφαρμογές Cloud Computing Γνώσεις για το Cloud Computing και τις εφαρμογές του
Εισαγωγή Σχεδιάγραμμα Τεχνολογίες Cloud Computing Google App Engine Windows Azure Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα
Συμπεράσματα Υπάρχουν εναλλακτικοί τρόποι δημιουργίας δικτυακών εφαρμογών Υπάρχει η δυνατότητα δημιουργίας συστημάτων μέσω του διαδικτύου Μπορούμε να δημιουργήσουμε/αναπτύξουμε ένα σύστημα χωρίς ειδικές γνώσεις προγραμματισμού ή υλικού(hardware) Μπορούμε να αναπτύξουμε ένα σύστημα χωρίς να έχουμε εμείς το υλικό (π.χ. servers) Η συντήριση τώρα ανήκει στα χέρια των παροχέων του Cloud Computing και όχι στον ιδιοκτήτη των εφαρμογών Υπάρχουν ακόμα θέματα ασφάλειας δεδομένων και κλοπής από τρίτους Υπαρχει ακόμα θέμα για την συνέπεια των δεδομένων
Συμπεράσματα Κυριότερο συμπέρασμα Το Cloud Computing φαίνεται να είναι το μέλλον στην επιστήμη της πληροφορικής και όχι μόνον
Ευχαριστούμε για την προσοχή σας! Ανδρέας Διαβαστός Δέσποινα Τρικωμίτου