Google - App Engine



Το Google App Engine επιτρέπει στους προγραμματιστές να “τρέχουν” εφαρμογές διαδικτύου χρησιμοποιώντας τις υποδομές της Google (Ciurana E.; 2009), οι οποίες έχουν κατασκευαστεί με την χρήση της πλατφόρμας της, ως μια υπηρεσία PaaS.

Εκτιμάται ότι περίπου 45.000 εφαρμογές έχουν χτιστεί με την χρήση της Google App Engine. Μεταξύ αυτών υπάρχουν κάποιες εξαιρετικά δημοφιλείς με χρήστες που ξεπερνούν ακόμα και τα 30.000.000 μέλη.

Οι προγραμματιστές μπορούν να υποστηρίξουν τις εφαρμογές τους χρησιμοποιώντας ένα δωρεάν domain name από το domain appspot.com ή να χρησιμοποιήσουν ένα δικό τους domain. Οι εφαρμογές μπορούν να μοιραστούν είτε σε συγκεκριμένους χρήστες με περιορισμό πρόσβασης είτε σε όλο τον κόσμο.

Οι προγραμματιστές πληρώνουν για ότι χρησιμοποιούν. Δεν υπάρχουν αρχικά έξοδα εγκατάστασης ούτε επαναλαμβανόμενα έξοδα συντήρησης. Οι πόροι που καταναλώνονται, όπως ο αποθηκευτικός χώρος και το εύρος ζώνης μετρούνται ανά GB και τιμολογούνται. Οι προγραμματιστές μπορούν να ελέγχουν το μέγιστο των πόρων που θα επιτρέπεται οι εφαρμογές τους να καταναλώνουν.

Οι προγραμματιστές μπορούν να ξεκινήσουν δωρεάν το Google App Engine. Όλες οι εφαρμογές μπορούν να χρησιμοποιήσουν έως και 500ΜΒ αποθηκευτικού χώρου και αρκετή υπολογιστική ισχύς και εύρος ζώνης. Οι δωρεάν διαθέσιμοι πόροι μπορούν να υποστηρίξουν περίπου 5.000.000 προβολές σελίδων το μήνα. Στην περίπτωση που η τιμολόγηση είναι ενεργοποιημένη τότε αφορά ανάλωση πόρων πάνω από τα δωρεάν όρια.

Το Google App Engine περιβάλλον περιλαμβάνει τα παρακάτω χαρακτηριστικά:

  • Δυναμική εξυπηρέτηση Web, με πλήρη υποστήριξη για τις συνήθεις τεχνολογίες.
  • Συνεχή αποθήκευση ερωτημάτων, ταξινομήσεων και συναλλαγών
  • Αυτόματη κλιμάκωση και εξισορρόπηση φορτίου
  • APIs για τον έλεγχο της ταυτότητας των χρηστών και την αποστολή email με χρήση λογαριασμών Gmail
  • Πλήρες λειτουργικό περιβάλλον που προσομοιώνει το Google App Engine σε τοπικό υπολογιστή.

Οι εφαρμογές του Google App Engine έχουν υλοποιηθεί με την χρήσης της γλώσσας Python (Zahariev A.; 2009). Το runtime περιβάλλον εμπεριέχει την πλήρη έκδοση της, και την πιο συνήθη βιβλιοθήκη της. Παρόλο που η Python είναι η μόνη γλώσσα που υποστηρίζεται από τα Google App Engine, η Google υποστηρίζει περισσότερες γλώσσες και πρόσφατα και την Java.

Το Google App Engine Software Development Kit (SDK) εμπεριέχει μια εφαρμογή η οποία προσομοιάζει όλες τις υπηρεσίες του Google App Engine στον τοπικό υπολογιστή. Επίσης περιλαμβάνει το σύνολο των APIs και των βιβλιοθηκών που είναι διαθέσιμα σε περιβάλλον παραγωγής. Η προσομοίωση του Web διακομιστή επίσης διαχειρίζεται τα χαρακτηριστικά ασφαλείας (Sanderson D.; 2010).
Το Python SDK υλοποιείται σε καθαρή Python και τρέχει σε οποιαδήποτε πλατφόρμα συμπεριλαμβανομένων των windows, Mac OS x και Linux.

Τα Google App Engine δεν αποθηκεύουν τα δεδομένα σε σχεσιακές βάσεις δεδομένων. Τα αντικείμενα δεδομένων ή οι οντότητες ανήκουν σε ένα είδος και έχουν ένα σύνολο ιδιοτήτων. Τα ερωτήματα μπορούν να ανακαλούν οντότητες μιας κατηγορίας οι οποίες επιλέγονται και ταξινομούνται σύμφωνα με την τιμή των ιδιοτήτων τους.

Το API της Python εμπεριέχει μια διεπαφή για την μοντελοποίηση των δεδομένων, με την χρήση της οποίας είναι δυνατόν να οριστεί μια δομή για την αποθήκη δεδομένων οντοτήτων. Ένα μοντέλο δεδομένων μπορεί να απαιτεί μια ιδιότητα να παίρνει τιμή μέσα από ένα σύνολο αποδεκτών τιμών, ή να παρέχει μια προκαθορισμένη τιμή εάν δεν έχει καταχωρηθεί κάποια από τον χρήστη.

Βιβλιογραφία

  1. Ciurana E.; (2009); Developing with Google App Engine; Apress; New York;  p1-9
  2. Zahariev A.; (2009); "Google App Engine"; Helsinki University of Technology
  3. Sanderson D.; (2010); Programming Google App Engine; O'Reilly ; USA; pp15-20

Δεν υπάρχουν σχόλια: