Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... ·...

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

Transcript of Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... ·...

Page 1: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Cloud Computing with Google and Microsoft

Despoina TrikomitouAndreas DiavastosClass: EPL425

Page 2: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud Computing

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 3: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

ΕισαγωγήCloud Computing

“Η ανάπτυξη και σχεδίαση εφαρμογών και συστημάτων με βάση τοδιαδίκτυο και την χρήση της τεχνολογίας των υπολογιστών”

• Cloud από το σύμβολοτου Διαδικτύου

Public: Ορατό σε όλουςPrivate: Ορατό σε άτομαμε ειδική πρόσβαση

• Δεδομένα και κώδικας βρίσκονταιμέσα στο cloud

Page 4: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Κατηγορίες Cloud Computing:IaaS – Infrastructure as a ServicePaaS – Platform as a ServiceSaaS Software as a Service

Παροχής:Google App Engine

Microsoft Windows Azure

Amazon EC2

…Εισαγωγή

Page 5: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows Azure

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 6: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Τεχνολογίες Cloud Computing

Google App Engine• Προσφορά δικτυακών εφαρμογών

• Υπηρεσίες από την Google:MailURL FetchMemcacheImage ManipulationDatastore

• Εφαρμογές από την Google:Gmail for Business Google CalendarGoogle Docs

Page 7: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Google App Engine• Γλώσσες προγραμματισμού:

JAVAJava JDKApp Engine Java SDKEclipse Galileo – App Engine plug-in

PythonPython >2.5App Engine SDKGoogle App Engine Launcher

• Δημιουργία βάσης δεδομένων:GQL – Google Query LanguageΊδιες δύνατότητες με την SQL

• Τοπικός εικονικός εξυπηρετητής

Page 8: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Υπηρεσίες της Google•URL Fetch:

Εκτέλεση HTTP και HTTPS requests μέσω του App Engine γιαεπικοινωνία με άλλους πόρους στο διαδίκτυο

• Memcache:

Παρέχει memory cache service για υψηλής επίδοσης επεκτάσιμεςδικτυακές εφαρμογές(JavaMemcache)

• Datastore:

Υποστήριξη συναρτήσεων βάσης δεδομένων με την GQL

• Billing Service:

Σε δωρεάν εκτέλεση δεν γνωρίζουμε τους πόρους πουχρησιμοποιούνται από πίσω.

Εάν πληρώσουμε τότε γνωρίζουμε τι χρησιμοποιούμε γιατιπληρώνουμε ανάλογα με το τι χρησιμοποιούμε

Page 9: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

App Engine Java SDK

• Τρέχει εφαρμογές χρησιμοποιώντας Java 6 Virtual Machine

• App Engine SDΚ:

Java 5 και μετά

Java 6 JVM μπορεί να χρησιμοποιήσει κλάσεις μεταγλωττισμένες απόοποιαδήποτε έκδοση του Java Compiler μέχρι και Java 6

• Google App Engine Launcher

Για την φόρτωση της εφαρμογής πάνω στο Cloud

Page 10: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Eclipse with Google plug-in

Page 11: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Google App Engine Launcher

Page 12: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows Azure

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 13: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες 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 – κατανεμημένη υποδομή σε εφαρμογές

Page 14: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Microsoft Windows Azure• Γλώσσες προγραμματισμού:

C#Visual BasicC++

• Microsoft Visual Studio 10 Beta 2• Windows:

Vista Server 20087 (Seven)

• Επίπεδα Windows Azure:Compute – επίπεδο εκτέλεσηςStorage – επίπεδο διαχείρησης δεδομένωνFabric – επίπεδο διαχείρησης ολόκληρης της εφαρμογής

Page 15: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

…Τεχνολογίες Cloud Computing…

Παράδειγμα εφαρμογής

Page 16: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows Azure

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 17: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Περιγραφή εργασίαςΑρχική ιδέα

• Word Count με προγραμματιστικό μοντέλο Map Reduce:Web applicationΕισαγωγή ενός μεγάλου αρχείου δεδομένωνΚαταμέτρηση εμφάνισης λέξεων στο αρχείο

• Σύγκριση των δύο υπηρεσιών (Google και Microsoft)

• Υλοποιήση:Java

• Απέτυχε:Εκτός από 1-2 δοκιμαστικές υλοποιήσεις, δεν υπάρχουνπραγματικές υλοποιήσεις του Map Reduce για το App Engineαπό την Google ακομα!

Page 18: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Περιγραφή εργασίαςΤελική υλοποίηση

• Forum επικοινωνίας:Web applicationLogin with Google AccountΆφηνει μήνυμα ο επισκέπτης σε εμάς και κάνει logoutΤο μήνυμα αποθηκεύεται στη βάση δεδομένωνΌλοι μπορούν να δούν το μήνυμα που αφήνει κάποιος μαζί με τοόνομα του

• Υλοποιήση:JavaPython

Page 19: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Περιγραφή εργασίας

Δευτερεύοντες εφαρμογές

• Client – Server:Αποστολή του ονόματος μας στον server και απάντηση του server μεένα μήνυμα χαιρετισμού

• next -> word:Μας δίνεται μια λέξη και σαν είσοδο δίνουμε την πρώτη λέξη που θασκεφτούμε σε σχέση με την αρχική λέξηΤο πρόγραμμα κρατά όλες τις λέξεις εισόδου και βγάζει και στατιστικάστοιχεία για την εμφάνιση της κάθε λέξης και του κάθε συνδιασμού

• HTTP Map Reduce:Δημιουργεία τυχαίων URLs από τυχαίες λέξειςΔοκιμαστική εφαρμογή για το Map Reduce για App Engine

Page 20: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows Azure

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 21: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςGuestbook forum σε JAVA & PYTHON• Δημιουργία forum με βάση δεδομένων

Login Screen: Κουμπί Login για να δώσει το email του ο χρήστης καινα κρατήσουμε το όνομα τουLogout Screen: Αποσύνδεση του χρήστη αφού έχει αφήσει το μήνυματουΦόρμα εισόδου: Γράφει το μήνυμα του ο χρήστηςPost κουμπί: Καταχώρηση του μηνύματος στην βάση δεδομένων

• Υλοποιήσεις:Java:

Python:

Page 22: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςΟθόνες εποπτείας – χρήση της εφαρμογής

Page 23: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςΟθόνες εποπτείας – Log files για

αλληλεπιδράσεις με την εφαρμογή

Page 24: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςΟθόνες εποπτείας – εποπτεία βάσης

δεδομένων

Page 25: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςGuestbook forum σε JAVA – Ενεργοποιήσηχρέωσης και τιμές για κάθε είδος λειτουργίας

Page 26: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςGuestbook forum σε JAVA – Παρακολούθηση

χρέωσης λειτουργιών

Page 27: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Επιτεύγματα εργασίαςΤι μάθαμε

• Υλοποιήση κώδικα για Cloud Computing Web Applications

• Δημιουργία βάσης δεδομένων και χρήση της GQL

• Πρακτική εξάσκηση σε δικτυακές εφαρμογές Cloud Computing

• Γνώσεις για το Cloud Computing και τις εφαρμογές του

Page 28: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Σχεδιάγραμμα• Εισαγωγή

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows Azure

• Περιγραφή Εργασίας

• Επιτεύγματα Εργασίας

• Συμπεράσματα

Page 29: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Συμπεράσματα

• Υπάρχουν εναλλακτικοί τρόποι δημιουργίας δικτυακών εφαρμογών

• Υπάρχει η δυνατότητα δημιουργίας συστημάτων μέσω του διαδικτύου

• Μπορούμε να δημιουργήσουμε/αναπτύξουμε ένα σύστημα χωρίς ειδικέςγνώσεις προγραμματισμού ή υλικού(hardware)

• Μπορούμε να αναπτύξουμε ένα σύστημα χωρίς να έχουμε εμείς το υλικό(π.χ. servers)

• Η συντήριση τώρα ανήκει στα χέρια των παροχέων του Cloud Computing καιόχι στον ιδιοκτήτη των εφαρμογών

• Υπάρχουν ακόμα θέματα ασφάλειας δεδομένων και κλοπής από τρίτους

• Υπαρχει ακόμα θέμα για την συνέπεια των δεδομένων

Page 30: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Συμπεράσματα

Κυριότερο συμπέρασμα

Το Cloud Computing φαίνεται να είναι το μέλλον στην επιστήμητης πληροφορικής και όχι μόνον

Page 31: Cloud Computing with Google and Microsoftepl425/2009-projects/Cloud_Computing-(Google... · ΚατηγορίεςCloud Computing: IaaS – Infrastructure as a Service PaaS – Platform

Ευχαριστούμε για την προσοχή σας!

Ανδρέας Διαβαστός

Δέσποινα Τρικωμίτου