Altervedo’s Weblog

Web and tech

Αρχείο για Google App Engine

OpenID με το Google account σας, ευχαριστώ δε θα πάρω

OpenID-Provider screenshotΊσως θα διαβάσατε στο web για μια νέα εφαρμογή που σας επιτρέπει να χρησιμοποιήσετε το Google account σας ως OpenID. Πολλά blogs και sites ενημέρωσης αναφέρουν την είδηση, μερικά από αυτά πέφτοντας στην παγίδα να φωνάξουν γρήγορα το Wow και το μπράβο. Κανείς όμως (εκτός ελάχιστων περιπτώσεων) δεν σας είπε ότι η νέα αυτή υπηρεσία δεν είναι επίσημα ιδιοκτησία του Google. Δημιουργήθηκε χρησιμοποιώντας το Google App Engine, από «κάποιον». Αυτός ο κάποιος δεν αναφέρεται στη σελίδα της εφαρμογής. Για να ανακαλύψετε το δημιουργό της συγκεκριμένης εφαρμογής πρέπει να πάτε στο Google App Engine Gallery και να αναζητήσετε την εφαρμογή OpenID. Προκύπτει λοιπόν ότι η εφαρμογή είναι του Ryan Barrett, ο οποίος είναι υπάλληλος στο Google αλλά σε καμιά περίπτωση δεν εκπροσωπεί το Google. Δεν έχω τίποτα με τον άνθρωπο και δε θέλω σε καμιά περίπτωση να πω ότι οι προθέσεις του είναι κακές. Ωστόσο, αν θέλουν να εμπιστευθώ την εφαρμογή τους περισσότερο ας την επισημοποιήσουν ως web application του Google.

Γιατί δεν μπορώ να εμπιστευτώ μια τέτοια εφαρμογή που χρησιμοποιεί τα google accounts και την υποδομή του Google App Engine; Ακριβώς για το λόγο αυτό. Γιατί το Google App Engine, δίνει πρόσβαση, διαμέσω του Users API, στο δημιουργό μιας εφαρμογής σε κάποια από τα στοιχεία σας. Ποιά είναι αυτά; Το nickname σας και το email σας (αυτά που έχετε στο gmail/google account)(ως email εννοώ το blablablabla@gmail.com και όχι το account σας φυσικά). Δηλαδή θέλετε να δώσετε στον οποιοδήποτε τη διεύθυνση του ηλεκτρονικού σας ταχυδρομείου; Δε νομίζω. Επί χρόνια, μας μιλάνε για το spamming, για το πως να μην πέσουμε θύματά του…και τώρα…ελάτε ρε παιδιά γραφτείτε…μόνο το email σας θα είναι ορατό σε κάποιους τρίτους.

Και επιπλέον, η συγκεκριμένη εφαρμογή openid-provider χρησιμοποιείται για να σας παρέχει ένα μοναδικό OpenID, με το οποίο θα μπορείτε να κάνετε αυτόματα login σε ιστοσελίδες που το υποστηρίζουν (για να μάθετε περισσότερα διαβάστε τη σελίδα http://openid.net/). Δηλαδή ο διαχειριστής της θα μπορεί να γνωρίζει και σε ποιες ιστοσελίδες κάνετε login.

Αντιλαμβάνεστε ότι αν ο δημιουργός της συγκεκριμένης εφαρμογής ή κάποιας παρόμοιας ήθελε θα μπορούσε να έχει στη διάθεσή του ένα μεγάλο αριθμό δεδομένων για τις κινήσεις σας στο web. Οπότε σίγουρα τίθεται θέμα προστασίας της privacy.

Στην ιστοσελίδα της εφαρμογής δεν υπάρχει κανένα έγγραφο για την προστασία των προσωπικών σας δεδομένων και για τη χρήση της δεν εμφανίζεται κανένα έγγραφο που να είναι αναγκαίο να αποδεχθείτε και που θα έπρεπε να δηλώνει κατηγορηματικά τους όρους χρήσης και να εξασφαλίζει την privacy σας.

Η άποψή μου είναι ότι η εφαρμογή είναι απαράδεκτη στη σημερινή της μορφή. Αν την επισημοποιήσουν ως εφαρμογή του Google και αν ισχύσουν οι όροι που ισχύουν για όλες τις άλλες web applications του Google, τότε μπορεί να της δώσω μια ευκαρία. Προς το παρόν it’s a no-go.

Αν είστε στο ψάξιμο για έναν provider μιας OpenID, κοιτάξτε εδώ (ίσως ανακαλύψετε ότι ήδη έχετε το δικό σας OpenID).

Google App Engine

Google App EngineΤις τελευταίες δυο μέρες διάβασα και παρακολούθησα κάποια θέματα που αφορούν το Google App Engine. Πιθανότατα θα γνωρίζετε ότι μια preview release έγινε διαθέσιμη για τους πρώτους 10000 developers που θα εγγραφόταν στην νέα υπηρεσία του Google. Οι περισσότερες πληροφορίες προκύπτουν από το Google Campfire One, ενός τύπου συνάντηση όπου τα λένε μεταξύ τους και ευλογάνε τα γένια τους, και φυσικά μέσα από τις σχετικές ιστοσελίδες του Google.

Ας δούμε αρχικά για το τι πρόκειται. Το Google App Engine είναι ένα σύστημα, θα το αποκαλέσω έτσι, που επιτρέπει σε εξωτερικούς από το Google developers να τρέξουν μια web application στις υποδομές του Google. Πιο απλά σε ένα περιβάλλον που είναι στημένο στους servers του Google και σας επιτρέπει να τρέχετε τον δικό σας κώδικα με κάποιους περιορισμούς.

Τα θετικά:

  • Έχετε τη δυνατότητα να εκμετελλευτείτε μέσα σε καθορισμένα όρια τη δύναμη του δικτύου του Google.
  • Θα βρείτε έτοιμο ένα περιβάλλον που θα φιλοξενήσει την εφαρμογή σας. Έτσι, δε θα σας απασχολήσει το να στήσετε το server σας ή η μετέπειτα διαχείρηση του.
  • Αν η εφαρμογή σας μεγαλώσει ή η ιστοσελίδα σας γίνει πολύ δημοφιλής, το Google υπόσχεται ότι θα σας βοηθήσει και θα ικανοποιήσει τις απαιτήσεις. Σε αυτή την περίπτωση θα χρεαστεί να πληρώσετε.
  • Είναι δωρεάν, παρέχει 500ΜΒ χώρο και δυνατότητα με βάση ορίων χρήσης CPU και bandwidth που θα σας επιτρέψουν να σερβίρετε περίπου 5 εκατομμύρια pageviews ανά μήνα.
  • Προγραμματιστικά, εκτός από τη χρήση του administration control, που παρέχει χρήσιμες πληροφορίες για τη λειτουργία της εφαρμογής σας(π.χ. error control και μετρήσεις επιδόσεων) και ένα απλό real time version tracker, με δυνατότητα άμεσης εναλλαγής από μια version της εφαρμογής σας σε κάποια άλλη, θα βρείτε διαθέσιμες APIs και μια full έκδοση της γλώσσας python, έτοιμη να τρέξει τον κώδικά σας. Το SDK σας δίνει τη δυνατότητα να τρέξετε τοπικά στον υπολογιστή σας τις εφαρμογές σας με μια προσωμοίωση των APIs του Google App Engine.
  • Μπορείτε να χρησιμοποιήσετε το δικό σας domain ή να αρκεστείτε σε κάποιο από τα subdomains που σας κάνει διαθέσιμα το Google.

Τα αρνητικά:

  • Βασικό αρνητικό στοιχείο, υπόσχομαι να εκφραστώ προσεκτικά, είναι η ίδια η ιδέα του Google App Engine. Σκεφτείτε το λίγο. Φαινομενικά σας παρέχουν πολλές ευκολίες. Εσείς το μόνο που έχετε να κάνετε είναι να φτιάξετε την εφαρμογή σας και να επενδύσετε τη ζωή σας ώστε να κάνετε τη σελίδα σας όσο πιο δημοφιλή γίνεται. Το Google είναι μια corporation, δεν είναι άγγελος! Τότε γιατί όλη αυτή η προσφορά; Υποστηρίζουν …και δε με πείθουν… για να δημιουργηθούν όσο το δυνατόν πιο πολλές web applications. Πιστεύω ότι βασικός τους στόχος, εκτός από το να κερδίσουν χρήματα διαμέσω της χρήσης της υπηρεσίας ( είναι δωρεάν μόνο αν χρησιμοποιείται 500MB χώρο και περίπου 5 εκατομμύρια pageviews/μήνα, αν έχετε πιο πολλές απαιτήσεις πρέπει να πληρώσετε…οι τιμές βέβαια δεν έγιναν γνωστές), είναι η «ομηρία» της πιθανότατα μοναδικής σας ιδέας ή του κώδικά σας. Δηλαδή, έχετε μια φοβερή ιδεά, γράψατε με κόπο τον κώδικά σας και όλα αυτά θα τα παρέχετε στο πιάτο στα μάτια των τύπων του Google; Έχει ανάγκη το Google από τις δικές σας ιδέες και τον κώδικά σας; Όχι και ναι. Το σίγουρο είναι ότι δε θα έλεγε όχι σε κάτι πραγματικά εξαιρετικό. Αλήθεια πιστεύετε ακόμα στο μύθο ότι οι τύποι που δουλεύουν για τους bigs όπως το Google είναι καλύτεροι από εσάς; Το σύνολο κάνει τη δύναμη και όχι οι μονάδες. Βασικά, φτάνει να δείτε κάποιες από τις παρουσιάσεις τους για να καταλάβετε ότι δεν είναι από άλλο πλανήτη. Είναι απλοί humans με σωστές επαγγελματικές εμπειρίες. Αναρρωτιέμαι γενικά αν κάποιος σοβαρός developer θα χρησιμοποιούσε το Google App Engine για κάτι πέρα από δοκιμές και εμπειρία.
  • Αν ποτέ θελήσετε να φύγετε από το Google App Engine, πιστεύεται ότι θα είναι εύκολο; Αυτό δεν μας το είπε κανείς ως τώρα. Πιθανότατα θα είναι πολύπλοκο. Συνεπώς εκτός από την ομηρία της ιδέας σας και του κώδικά σας, κινδυνεύετε να καταστήσετε όμηρο του Google και όλη την εφαρμογή σας και την επιτυχία σας.
  • Προς το παρόν μόνο η γλώσσα προγραμματισμού python είναι διαθέσιμη. Υπόσχονται και άλλες σύντομα. Γιατί άραγε μόνο python προς το παρόν; Εντάξει, δε θέλω να υπερβάλω και να φανώ προκατελημένος ή κακός απέναντι στο Google, αλλά γνωρίζουμε ότι η python είναι παλιά τους αγάπη. Σας παρέχουν λοιπόν προς το παρόν αυτό που μπορούν και τους βολεύει. Τίποτα παραπάνω. Τέλος, ο δημιουργός της Python δουλεύει για το Google και μάλιστα πολύ μεγάλο μέρος του κώδικα του Google App Engine SDK έχει γραφτεί από τον ίδιο.
  • Προγραμματιστικοί περιορισμοί: 1. Δεν μπορείται να γράψετε multi-threading εφαρμογές. Το multi-threading το εγγυάται η δομή του δικτύου και οι servers του Google. 2. Δεν μπορείτε να κάνετε fetch κάποιο URL…μάλλον μπορείτε αλλά μόνο διαμέσω κατάλληλου API. 3. Δεν έχετε δικαιώματα εγγραφής στο filesystem. Έχετε μόνο δικαιώματα ανάγνωσης. Βέβαια διατηρείται πρόσβαση στα αρχεία που εσείς ανεβάζετε. 4. Δεν μπορείτε να χρησιμοποιήσετε το δικό σας σύστημα για το authentication των users. Πρέπει οι χρήστες της εφαρμογής σας να έχουν κάποιο Google Account.

Ρίξτε μια ματιά στις FAQ για περισσότερες λεπτομέρειες και απαντήσεις.

Google App Engine
Η αλήθεια είναι ότι θα βρεθούν κάποιες εκατοντάδες χιλιάδες «θύματα» που θα τρέξουν να στήσουν εφαρμογές στη νέα υπηρεσία του Google. Μάλιστα κάποιοι θα αρχίσουν να μαθαίνουν και python έτσι γιατί κάνει Googleμόδα. Πιθανότατα θα δείτε κάποιους από αυτούς να γίνονται και γνωστοί καθώς μετά από κάθε κίνηση του Google πρέπει να υπάρξουν κάποια «success stories».

Να σας εξομολογηθώ κάτι. Προτιμώ τον server μου να σέρνεται στην adsl του σπιτιού μου, παρά να τρέχω τα scripts μου μπροστά στα μάτια των τύπων του Google. Σε καμιά περίπτωση δε θα έγραφα κάποια εφαρμογή για το Google App Engine χωρίς να τη δημοσιεύω ως Open Source (GPL) και κάπου αλλού.

Τέλος, καλό είναι να συνειδητοποιήσουμε ότι αν ποτέ κάποιος από το Google μας κλέψει, να είμαστε σίγουροι ότι δε θα το μάθουμε ποτέ. Αλλά και αν το μάθουμε, δε θα βρούμε το δίκιο μας ποτέ.

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