Google AppEngine vs Amazon EC2

Μέσα στις διακοπές του Πάσχα δούλεψα πολύ προσπαθώντας να μεταφέρω[1] το urlBorg στο Google AppEngine και νομίζω ότι πλέον έχω μία αρκετά καλή αντίληψη για το συγκεκριμένο περιβάλλον. Διαβάζοντας τα σχετικά άρθρα που έγραψα στο vrypan|net|log κάποιοι με ρώτησαν “γιατί μπαίνεις σε όλο αυτό τον κόπο και δεν χρησιμοποιείς το Amazon EC2“; Ορίστε λοιπόν μία σύγκριση των δύο.

Καταρχήν πρέπει να ξεκαθαρίσουμε ότι μιλάμε για δύο εντελώς διαφορετικά προϊόντα.

Το Amazon EC2 είναι ουσιαστικά virtual hardware. Αυτό σημαίνει ότι μπορεί κανείς να το χρησιμοποιήσει όπως ακριβώς θα έκανε με ένα (ή περισσότερους) dedicated servers. Μπορείς να ξεκινήσεις χρησιμοποιώντας ένα virtual server με χαμηλές προδιαγραφές ταχύτητας και πολύ εύκολα αν η εφαρμογή σου έχει επιτυχία να αναβαθμίσεις σε ένα μεγαλύτερο -και επειδή ακριβώς το hardware είναι virtual, η μετάβαση αυτή γίνεται απλά πληρώνοντας για περισσότερα resources. Μπορείς ακόμη πολύ εύκολα να “σηκώσεις” νέους servers, π.χ. να βάλεις την database να τρέχει σε ένα ξεχωριστό “μηχάνημα” κ.λ. Και αν μιλάμε για web sites, μπορείς καθώς μεγαλώνει η κίνηση στο site σου να προσθέτεις επιπλέον web servers, να έχεις 2 ή και περισσότερα μηχανήματα με db replication κ.λ. Όπως ακριβώς θα έκανε κανείς με dedicated servers, αλλά πολύ πιο εύκολα, σχετικά πιο φθηνά (έως πολύ πιο φθηνά) και με την σιγουριά που προσφέρει η υποδομή της Amazon.

Από την άλλη, το Google AppEngine είναι ένα εντελώς διαφορετικό περιβάλλον. Έχει πάρα πολλούς και σημαντικούς περιορισμούς. Η γλώσσα προγραμματισμού αυτή την στιγμή είναι αποκλειστικά Python (αν και λέγεται ότι θα ακολουθήσουν και άλλες στο μέλλον). Οι βιβλιοθήκες που είναι διαθέσιμες είναι περιορισμένες και δεν επιτρέπουν πράγματα όπως image manipulation και γενικά οποιαδήποτε library της python είναι compiled (π.χ. γραμμένη σε C). Επίσης, δεν μπορεί κανείς να έχει background processes. Το μεγαλύτερο όμως πρόβλημα είναι ότι για την αποθήκευση δεδομένων δεν χρησιμοποιείται μία RDBMS άλλα το “Google Datastore” που για όποιον έχει συνηθίσει να δουλεύει με RDBMS μοιάζει να είναι ανίκανο να κάνει ακόμη και τα πιο βασικά (π.χ. ένα SELECT SUM() ή ένα unique auto increment ID).

Η προσέγγιση του Google AppEngine είναι “ορίστε το περιβάλλον στο οποίο αναπτύσσουμε σαν Google τις εφαρμογές μας, αν θέλετε και μπορείτε, χρησιμοποιήστε το”. Οι περιορισμοί που βάζει προφανώς έχουν κάποιο λόγο: να μπορεί μία εφαρμογή να κάνει “άπειρο”[2] scale [3]. Η προσέγγιση αυτή έχει τα καλά της και τα κακά της. Το κακό είναι ότι μεταφέρει τα διάφορα προβλήματα κλίμακας στον developer (προβλήματα για τα οποία σε άλλες περιπτώσεις φροντίζει η “υποδομή”, όπως το OS, ο web server, η RDBMS). Από την άλλη, μία καλογραμμένη εφαρμογή δεν έχει τα προβλήματα κλίμακας που ακριβώς αυτή η “υποδομή” βάζει από κάποιο σημείο και μετά (π.χ. με ένα καλύτερο server και με λίγη προσοχή μπορεί όντως ένα τυπικό website να αντέξει την κίνηση όταν οι επισκέπτες από 1000/ημέρα γίνουν 100.000 την ημέρα, αλλά δεν θα βρείτε server που να μπορέσει να αντιμετωπίσει με τίποτα 1.000.000 επισκέπτες το δευτερόλεπτο, για αυτό και όσοι αντιμετωπίζουν τέτοια προβλήματα έχουν server farms, clusters κ.λ.)

Κατά την γνώμη μου η επιλογή μεταξύ των δύο ξεκινάει με το ερώτημα “πόσο μεγάλη θα μπορούσε να γίνει η εφαρμογή μου στην ιδανική περίπτωση”. Π.χ. ένα site που απευθύνεται αποκλειστικά σε Έλληνες είναι δεδομένο ότι δεν μπορεί να ξεπεράσει κάποιο μέγεθος. Αντίθετα, αν φτιάχνετε το επόμενο twitter ή Google Analytics, η κίνηση σε περίπτωση επιτυχίας θα είναι πολλές τάξεις μεγέθους μεγαλύτερη από όσο θα μπορούσαν να σηκώσουν 1 ή 2 servers.

Μετά είναι το ερώτημα αν θέλει κανείς να “δεθεί” με την υποδομή της Google ή θα προτιμούσε να αντιμετωπίσει τα πιθανά προβλήματα κλίμακας μόνος του. Τα προβλήματα αυτά προφανώς και λύνονται (δεν περίμενε την Google το CNN ή το BBC για να μπορέσουν να εξυπηρετούν πολλά εκατομμύρια pageviews την μέρα), αλλά θα πρέπει να αντιμετωπίσει κανείς μόνος του (ή προσλαμβάνοντας ειδικούς) τις τεχνικές δυσκολίες. Ναι, μπορείτε να “σηκώσετε” όσους DB servers χρειάζεστε και να κάνετε replication και να έχετε άλλους τόσους η περισσότερους clustered web servers στο EC2, αλλά κάποιος θα πρέπει να ασχολείται με το πώς γίνεται αυτό το πράγμα, να κάνει maintenence, monitoring, optimization κ.λ. στην υποδομή -ένας ή περισσότεροι system admins, db admins κ.λ. Μία καλογραμμένη εφαρμογή που τρέχει στο AppEngine απλά ίσως να χρειαστεί optimization από τον developer.

Και βέβαια, κατά πόσο αξίζει να επενδύσει κανείς τόση περισσότερη δουλειά (γιατί όπως είπα το development στο AppEngine είναι σημαντικά δυσκολότερο) και να μάθει μία τόσο διαφορετική πλατφόρμα, όταν έχει ήδη επενδύσει μήνες ή χρόνια για να αποκτήσει γνώσεις και εμπειρία σε ένα άλλο (π.χ. LAMP) που είναι συμβατό με το EC2.

Ελπίζω να έδωσα μία πιο πλήρη εικόνα από αυτή που κυκλοφορεί με απλοποιήσεις όπως “η Google παρουσιάζει τον αντίπαλο του Amazon EC2″.

Για εμένα η επιλογή να ασχοληθώ με το AppEngine πέρα από τα παραπάνω (και καλά το urlBorg θα έχει δισεκατομμύρια hits/sec… και μετά ξύπνησες!) είναι ότι αποτελεί μία (από άποψη development) σπαζοκεφαλιά που μετατρέπει σε προκλήσεις πράγματα που θεωρούσα βαρετά -ΟΚ, προγραμματιστική διαστροφή, το δέχομαι :-)


[1] όχι, δεν το έχω μεταφέρει ακόμη και θα χρειαστεί αρκετή δουλειά.
[2] όπου “άπειρο” ας θεωρήσουμε κάτι συγκρινόμενο ίσως με την κλίμακα που έχουν οι υπηρεσίες που προσφέρει η ίδια η Google.
[3] το περιβάλλον που προσφέρεται αυτή την στιγμή είναι περιορισμένο σε resources λέγοντας ότι είναι μόνο για development, αλλά ας δεχθούμε ότι (όπως λέει η Google) στο μέλλον θα μπορεί κάποιος να πληρώνει ανάλογα με το πόσα resources (bandwidth, cpu cycles, DB access κ.λ.) χρειάζεται.

Comments (1)misc — Tags: , , , , — Panayotis @ 18:14

Σε ένα μήνα ακριβώς θα γίνει το Greek Blogger Camp 08. Πέρυσι περάσαμε υπέροχα και είχε μεγάλο ενδιαφέρον, ελπίζω φέτος να είναι ακόμη καλύτερο!

Comments (5)asides — Tags: — Panayotis @ 14:22

1994. Θα είχατε απαντήσει; Well-capitalized Seattle start-up seeks Unix developers
via Paul Stamatiou

Comments (4)asides — Tags: , — Panayotis @ 29|Apr|2008 19:53

Σήμερα φυτέψαμε στο μπαλκόνι τις τουλίπες που έφερα από την Ολανδία πριν από κανα μήνα.

Κανονικά υποτίθεται ότι τις φυτεύεις πριν τον χειμώνα, ώστε μόλις αισθανθούν την ζέστη να βγούν, αλλά αυτές ήταν “pre cooled”, συνέχεια στο ψυγείο, και υποτίθεται ότι μπορείς να τις φυτέψεις και τώρα.

Ελπίζω να πιάσουν.

Comments (7)Diary, asides — Tags: — Panayotis @ 28|Apr|2008 15:44

Ανάσταση, 27/4/2008

Ανάσταση υπό βροχή. Καλά να ‘μαστε.

Comments (0)Diary, asides — Tags: — Panayotis @ 27|Apr|2008 10:28

εορταστική “αποχή” από την συζήτηση

Εδώ και 2-3 μέρες έχω βγεί από την “συζήτηση” (με την έννοια του web 2.0 conversation, της συζήτησης που συμβαίνει μέσα από τα διάφορα blogs και τα άλλα social media). Διαβάζω που και που τί γράφεται γύρω-γύρω, αλλά σχολιάζω ελάχιστα -έως καθόλου. Και τα περισσότερα δεν τα διαβάζω, για να πω την αλήθεια. Το twitter stream τρέχει σαν τηλεόραση που έχει μείνει ανοικτή στο διπλανό δωμάτιο. Δεν είναι άσχημη αλλαγή για μερικές μέρες!

Αντίθετα, έχω “παίξει” αρκετά με το Google AppEngine -από μία προγραμματιστκή άποψη, η δραστηριότητα αυτή είναι πιο “εσωτερική”, οπότε μπορεί να πει κανείς ότι είμαι στο πνεύμα των ημερών :-) Μου αρέσει που ξανανακαλύπτω την Python και οι διάφοροι περιορισμοί που έχει το AppEngine είναι μία ευχάριστη σπαζοκεφαλιά. Το μεγαλύτερο πρόβλημα είναι ότι το Google Datastore δεν είναι RDBMS, οπότε σχεδόν οτιδήποτε σχετίζεται με τα δεδομένα μίας εφαρμογής πρέπει να το αντιμετωπίσεις διαφορετικά -ξεχάστε unique indexes, auto increment, select max(), mim(), count(), sum() κ.λ.

Κατά τα άλλα, περνάμε ήσυχα τις μέρες αυτές στην Αθήνα, που είναι πολύ πιο όμορφη όταν φεύγουν οι υπόλοιποι :-)

Πάω να ετοιμαστώ για την Ανάσταση. Άντε, Καλή Ανάσταση!

Comments (1)Diary — Tags: , , — Panayotis @ 26|Apr|2008 22:38

"Σταυρός του Νότου"

Χθές πήγαμε στον Σταυρό του Νότου που κάθε Τρίτη και Τετάρτη έχει Rock’nRoll nights (εξαίρεση η ερχόμενη Τρίτη+Τετάρτη). Τραγουδάει (μεταξύ άλλων, γιατί τραγουδάνε αρκετοί) και ο καλός φίλος Γιώργος Μπίλιος. Περάσαμε super, το πρόγραμμα περιλαμβάνει από hard rock μέχρι pop rock, πολύ καλές φωνές, πολύ καλός ήχος, αν σας αρέσει το είδος, θα περάσετε καλά!

Α, και για σήμερα, χρόνια μου πολλά -έχω ήδη μαζέψει 35 :-)

Comments (6)Diary, asides — Panayotis @ 24|Apr|2008 14:56

Οι bloggers διαμαρτύρονται γιατί τα ΜΜΕ “έκλεψαν” τα video και τις φωτογραφίες τους: Ποιός κάνει “λογοκλοπή”? Δεν είναι ξεκάθαρο, αλλά νομίζω ότι αυτό που ζητάνε είναι να γίνεται η αναφορά της πηγής -να ασκήσουν το ηθικό τους δικαίωμα στην πνευματική τους ιδιοκτησία. Αν είναι έτσι συμφωνώ 100% με τους θιγόμενους και θα ήθελα να δω και άλλους δημιουργούς (δημοσιογράφους, συγγραφείς, μουσικούς,…) να τους υποστηρίζουν.

Comments (0)asides — Tags: , — Panayotis @ 23|Apr|2008 17:47

εκδήλωση στον Ιανό για τα πνευματικά δικαιώματα

Παρακολούθησα το πρωί την εκδήλωση που έγινε στον Ιανό, με θέμα “ΠΝΕΥΜΑΤΙΚΑ ΔΙΚΑΙΩΜΑΤΑ ΣΤΗΝ ΨΗΦΙΑΚΗ ΕΠΟΧΗ”.

ΠΑΓΚΟΣΜΙΑ ΗΜΕΡΑ ΤΟΥ ΒΙΒΛΙΟΥ ΚΑΙ ΤΩΝ ΠΝΕΥΜΑΤΙΚΩΝ ΔΙΚΑΙΩΜΑΤΩΝ
Ο IANOS και ο ΟΡΓΑΝΙΣΜΟΣ ΣΥΛΛΟΓΙΚΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ ΤΟΥ ΛΟΓΟΥ διοργανώνει συζήτηση με θέμα το βιβλίο και τα πνευματικά δικαιώματα.

Συμμετέχουν ο Γενικός Γραμματέας της Εταιρείας Συγγραφέων ΓΙΩΡΓΟΣ ΞΕΝΑΡΙΟΣ, ο Νομικός Σύμβουλος της ΠΟΕΒ ΔΗΜΗΤΡΗΣ ΣΠΥΡΟΠΟΥΛΟΣ και ο Νομικός Σύμβουλος του ΟΣΔΕΛ ΖΑΝΝΟΣ ΓΕΩΡΓΑΝΤΡΕΑΣ.

Διαπίστωσα ότι οι άνθρωποι αυτοί (συγγραφείς και οι οργανισμοί που τους εκπροσωπούν σε αυτή την περίπτωση) έχουν μία πολύ μικρή ως μηδενική επαφή με την κουλτούρα και την δημιουργία που αναπτύσσεται χάρη στην νέα τεχνολογία και διαδίδεται μέσω Internet.

Το πρόβλημα όπως το βλέπουν είναι απλό: τα έσοδα από την δημιουργία τους δεν είναι ικανοποιητικά και θεωρούν ότι σε ένα βαθμό για αυτό φταίει η σύγχρονη τεχνολογία (ερώτημα: δηλ. μέχρι πριν από 20 χρόνια οι συγγραφείς έβγαζαν πολλά λεφτά;). Τα συζητάνε μεταξύ τους και προσπαθούν να αντιμετωπίσουν αυτό που θεωρούν ότι είναι απένατί τους και τους κλέβει έσοδα στα οποία θα είχαν δικαίωμα. Άκουσα μέχρι και το ότι τα Creative Commons είναι κακό πράγμα γιατί εξοικειώνουν τον κόσμο με την ιδέα ότι μπορεί να χρησιμοποιεί content χωρίς να πληρώνει.

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

Είπα για παράδειγμα ότι το 4% επί των μέσω αναπαραγωγής είναι ένας φόρος που επιβάλουν οι σημερινοί δημιουργοί στους αυριανούς: ο μελλοντικός συγγραφέας, ο φωτογράφος κ.λ. πληρώνουν στους ήδη επαγγελματίες δημιουργούς όταν αγοράζουν τα μέσα που χρειάζονται για να δημιουργήσουν -σκληρούς δίσκους, ψηφιακές φωτογραφικές, κενά CD ή DVD.

Αδύνατο να το καταλάβουν. Ο λόγος είναι ότι στο μυαλό τους οι “μελλοντικοί δημιουργοί” είναι λίγοι. Σύντομα όμως θα είναι όλοι -όλοι όσοι έχουν αγοράσει μία ψηφιακή φωτογραφική, όλοι όσοι έχουν ένα υπολογιστή, όλοι όσοι έχουν μία βιντεοκάμερα.

Υπήρχαν και άλλα αντίστοιχα παραδείγματα. Οι συγγραφείς (στην συγκεκριμένη περίπτωση) προσπαθούν να διασφαλίσουν τα δικαιώματά τους και τα έσοδά τους. Αλλά δεν υποψιάζονται καν ότι μερικοί από τους τρόπους που επιλέγουν μπορεί να στραγγαλίζουν ή να περιορίζουν την δημιουργία και την διακίνηση ιδεών, γιατί αυτά, με την μορφή που τα εννοούμε εμείς (π.χ. οι περισσότεροι αναγνώστες αυτού του blog) συμβαίνουν σε ένα κόσμο πολύ μακρυά τους.

Εντύπωση μου έκανε και η αναφορά στα “ορφανά έργα” -έργα τα οποία καλύπτονται από δικαιώματα πνευματικής ιδιοκτησίας σε ισχύ, αλλά δεν είναι γνωστό ποιος είναι ο δικαιούχος. Για αυτά, η προσέγγιση ήταν ότι ο ΟΣΔΕΛ θα πρέπει (ή το κάνει ήδη;) να εισπράττει τα χρήματα που τους αντιστοιχούν, να ψάχνει για τους δικαιούχους και αν δεν τους βρει, να τα κατανείμει στους υπόλοιπους. Δηλαδή για έργα τα οποία οι δημιουργοί ΔΕΝ ενδιαφέρονται να ασκήσουν το δικαίωμά τους, αντί να προσπαθούμε να απελευθερωθούν και να μπορεί να τα χρησιμοποιήσει ο καθένας (π.χ. εγώ στο blog μου, ένας γάλλος θαυμαστής τους που θέλει να τα μεταφράσει στα γαλλικά και να τα δημοσιοποιήσει στο internet κ.λ.), προσπαθούν να τα “κλείσουν” -κάτι που θα μπορούσε να θεωρηθεί και ανήθικο, αν η πρόθεση του δημιουργού τους ήταν διαφορετική…

Πέρα από τις αντιπαραθέσεις μας με τους οργανισμούς, τις κυβερνήσεις κ.λ. πρέπει να ενημερώσουμε και αυτό τον κόσμο για την επανάσταση που συντελείται. Γιατί (ελπίζω) εκτός από επαγγελματίες είναι δημιουργοί.

Αν είσαστε ανάμεσα στους παρευρισκόμενους στην εκδήλωση και ήρθατε εδώ για να δείτε τι γράφω σχετικά, έχει ενδιαφέρον να διαβάσετε τα posts στην κατηγορία digital rights.

Comments (5)misc — Tags: , — Panayotis @ 16:49
Next Page »
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2008 vrypan|net|weblog | powered by WordPress with Barecity