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

Post on 12-Aug-2020

3 views 0 download

transcript

Cloud Computing with Google and Microsoft

Despoina TrikomitouAndreas DiavastosClass: EPL425

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

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

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

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

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

ΕισαγωγήCloud Computing

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

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

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

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

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

Παροχής:Google App Engine

Microsoft Windows Azure

Amazon EC2

…Εισαγωγή

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

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

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

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

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

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

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

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

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

…Τεχνολογίες 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

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

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

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

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

• Memcache:

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

• Datastore:

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

• Billing Service:

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

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

…Τεχνολογίες 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

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

Eclipse with Google plug-in

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

Google App Engine Launcher

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

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows 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 BasicC++

• Microsoft Visual Studio 10 Beta 2• Windows:

Vista Server 20087 (Seven)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• Τεχνολογίες Cloud ComputingGoogle App EngineWindows 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 ComputingGoogle App EngineWindows Azure

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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