GAE real apps

5 views
Skip to first unread message

Ubaldo Huerta

unread,
Aug 6, 2008, 11:15:58 AM8/6/08
to labola.org
Ante todo, aprovecho para bienvenir a todos los que están. No es que
se debatan temas trascendentales aqui aún :-) pero quizas si, en el
futuro, quien sabe.

Me alegro que en lo de aprender python, GAE, jquery, etc no estoy
solo. Por cierto, el otro dia, asistí a un python meetup bbq en
Gracia, Barcelona. Habia buena comida, buena gente, y programadores
con experiencia http://python.meetup.com/185/

Ah, el subject line.. Pues he visto que http://www.4hoursearch.com/ es
un real app, mas o menos, y el codigo esta disponible. Enjoy!

Hasta ahora, logicamente, casi todo lo que hay en GAE son toy apps.
Intuyo que todo cambiara en los proximos meses. Alquien esta
considerando GAE para un proyecto grande?




Alberto

unread,
Aug 6, 2008, 6:50:23 PM8/6/08
to labola.org
Yo llevo un par de días intentando hacer un proyecto que tenía en
mente en GAE. Pero cuanto más leo más limitaciones me encuentro en
GAE.
Estos son los problemas más grandes que me he encontrado:

- La version de django con la que se trabaja es la 0.96. Se puede
poner la que está en desarrollo, no es complicado pero ya hay que
ponerse a hacer "marranadas" para adaptar la versión
- El framework de usuarios de django no existe en GAE, ¿Entonces como
va alguien a portar una aplicación con usuarios a GAE? no podríamos
usar nuestros usuarios, obligaríamos a todos a registrarse otra vez.
Hay projectos opensource que pretenden solucionar esto, pero son
bastante inestables por ahora.
- No existe tampoco el framework de las sesiones. Así que nada de
variables de sesión, por lo que ya es un problema si mi aplicación
depende bastante de ellas. Además, sin las variables de sesion como se
supone que vas a poder hacer una web multilenguaje. También hay
proyectos para solucionar esto pero todavía más inestables.
- Tampoco existe el framework de administración de django. Sin esto se
puede vivir, pero la verdad es que era una buena ayuda. Es un problema
menor.

Después de haber visto todas estas cosas creo que me voy a esperar a
que GAE esté más maduro para hacer una app sobre él. Es normal que
nadie se plantée en serio portar una web grande a GAE.

Alguien ha conseguido solucionar estos problemas de integración entre
Django y GAE???

On Aug 6, 5:15 pm, Ubaldo Huerta <uba...@gmail.com> wrote:
> Ante todo, aprovecho para bienvenir a todos los que están. No es que
> se debatan temas trascendentales aqui aún :-) pero quizas si, en el
> futuro, quien sabe.
>
> Me alegro que en lo de aprender python, GAE, jquery, etc no estoy
> solo. Por cierto, el otro dia, asistí a un python meetup bbq en
> Gracia, Barcelona. Habia buena comida, buena gente, y programadores
> con experienciahttp://python.meetup.com/185/

Marc Garcia

unread,
Aug 6, 2008, 8:13:12 PM8/6/08
to lab...@googlegroups.com
Es la primera vez que escribo en esta lista, así que me presento muy brevemente. Me definiría sobretodo como un entusiasta de la programación, que encontré en Python mi mejor aliado, y en el que he trabajado sobretodo en Django: pequeñas webs, varias contribuciones al framework, y sobretodo mucho jugar (aka investigar). No tengo ninguna web que me sirva de carta de presentación (como creo que es común aquí ;) y de momento no tengo ninguna en mente, pero quien sabe...

Sobre el tema en questión, yo conocí el app engine por google, como "django en infraestructura escalable", lo cual creo que fué una mala presentación, ya que a los que no conocían django les daba igual el framework que fuera, y los que lo conocíamos hacía tiempo rapidamente nos dimos cuenta que el django que funciona en app engine es un 10% del total.

El tema fundamental es que para conseguir escalabilidad google hay que renunciar a sql (y usar la estructura de bigtable, que entre otras cosas se destaca por la ausencia de uniones entre tablas). Django está realmente anclado no solo al sql, sinó a su ORM. Lo demuestran las complicaciones que hay en el proyecto django-sqlalchemy, que intenta aislar el ORM, en este caso para substituirlo por sql alchemy. Así que si la parte de datos de django (aka modelos) no funciona (ni puede funcionar facilmente) en app engine, nos encontramos con que de todo django, aprovechamos las plantillas y poca cosa más.

Entonces a mi entender la pregunta importante es si app engine es bueno a pesar de no ser django. Yo como djangonauta lo encuentro "pobre", en el sentido de que la interfaz de administración está a años luz de la de django, y que infinidad de cosas que en django son inmediatas, en app engine hay que programarlas desde cero.

Al margen de todo eso, creo que si obviamos el tema del trabajo "de más", creo que app engine es realmente un producto útil a la hora de desarollar sitios webs que pueden crecer mucho (aka la red social definitiva ;) ya que saber que tu aplicación va a escalar sin más, es algo que django no puede ofrecer en absoluto. A parte, tiene algunas librerías interesantes, como la autentificación de google, el envío de mail desde los servidores de correo de google, y seguro alguna más. Solo una última consideración, son las limitaciones propias del app engine (que no tienen nada que ver con django), y son la falta de acceso al sistema de ficheros, la falta de ejecuciones no web (procesos batch), y la falta de librerías no pythonicas (la API de python escrita sobretodo en C, como por ejemplo PIL, para manipular imagenes, que podría ser muy útil para crear thumbnails). A parte estarían las limitaciones de capacidad de la versión beta.

Contestando un poco a Alberto, no estoy del todo de acuerdo con algunas cosas de las que comentas (aunqué tal vez esté yo errado, porqué no he podido profundizar mucho en app engine todavía).
- Google recomienda que te instales tu propia versión de django, no creo que hacerlo sea una marranada, y a parte seguro que pronto estará la 1.0 por defecto (creo que la cagada aquí es de la política de versiones, o de no versiones de django, yo creo que google hace lo que tiene que hacer al poner la última estable, aunqué esté desfasada).
- Tengo entendido que app engine si traé la aplicación de usuarios, aunqué sin permisos ni grupos.
- Desconozco el tema de las sesiones en app engine, pero se puede hacer una web multiidioma sin sesiones (aunqué no será muy elegante por supuesto).
- Coincido en que pasar de la administración de django a la del app engine es posiblemente el cambio más traumático de todo el proceso :)

Y por último decir que creo que el problema no está tanto en que app engine no esté maduro (que no lo está), como en entender que django no funciona en app engine (aunqué google diga lo contrario), y que en mi opinión la mejor solución pasa por el despiece de django, de manera que el orm, las templates... de django sean componentes más o menos independientes, y que puedan ser substituidos por otros, lo cual no parece ser hasta la fecha la política de django, sinó más bien la de turbogears, que parece estar lejos de django en este momento, pero que por su diseño podría ser mejor amigo del app engine en el futuro.

Un saludo,
  Marc

PD: Sorry por el mensaje probablemente demasiado largo

Alberto

unread,
Aug 6, 2008, 8:39:24 PM8/6/08
to labola.org
Yo creo que ese es el problema, que me esperaba algo donde poner mi
app de Django y que escalara sin preocuparme, y de Django tiene más
bien poco. En este página se puede ver como poner la ultima versión de
Django:http://code.google.com/appengine/articles/django.html. En la
sección "Updating Django Settings" explica que ha que comentar el
sistema de sesiones y de usuarios de Django.

Lo de hacer la web en varios idiomas se puede, pero la verdad es que
la gracia de Django es que está todo desacoplado y la traducción se
hace de manera casi automática. Hacer las traducciones a mano o crear
un sistema para hacerlas automáticas es volver un poco atrás.

Voy a empezar a fijarme más en Amazon a ver que tal funciona. Alguien
lo ha probado?

Ubaldo Huerta

unread,
Aug 9, 2008, 4:31:21 AM8/9/08
to labola.org
Some points

PIL is supported http://code.google.com/appengine/docs/images/installingPIL.html

Aqui hay unas cosistas para el manejo se sessiones
http://code.google.com/p/appengine-utitlies/

El django helper esta en active development. http://code.google.com/p/google-app-engine-django/

He visto que hay gente que se queja de que el app engine local (sdk)
es muy lenta insertando entities. Ya han aparecido patches para
mejorar el rendimiento. He visto gente que se queja que insertar 200K
items, que no es mucho para testear, es un problema. Ojala y el patch
se incorpore en la nueva version. SIendo un alpha, me sorprende que no
haya un release cada 2 semanas como maximo. Sera el verano, supongo

La principal limitacion actual en mi opinion es que no hay cron jobs,
y que el bulk uploading no esta muy afinado. Deberia haber una manera
sencilla de duplicar la data de una instancia a otra, para poder tener
un staging environment para testing.

Alberto Gimeno

unread,
Aug 12, 2008, 10:38:45 AM8/12/08
to lab...@googlegroups.com
Hola!

Actualmente estoy desarrollando dos webs "grandes" (o al menos espero
que lo sean :P ) con App Engine. Antes de usar GAE había usado python
sólo para juguetear y hacer alguna aplicación en línea de comandos,
así que no conocía django. Y ahora mismo de django no estoy usando más
que el sistema de plantillas, que me parece bastante bueno.

Me gusta mucho App Engine, pero tiene limitaciones. La limitación más
grande para mí que me he encontrado es que no soporta full text, lo
que es bastante frustrante e inesperado siendo un servicio de Google.
Realmente sí que está parcialmente implemnetado full text, pero no es
suficiente. No está documentado y además no funciona correctamente. Si
insertas "foo" en un campo y buscas "foo", lo encuentra. Pero si
modificas ese campo e introduces "foo bar" encontrará "foo" pero no
"bar". Resumiendo, que no vuelve a indexar el registro.

El tema de las sesiones lo he solucionado utilizando las
appengine-utitlies que Ubaldo ha mencionado. Sin embargo, si no me
equivoco, tiran completamente del datastore y en el SDK se hace
bastante lento. Es curioso porque una vez subida la web ¡va más rápido
que en local! Supongo que es el problema que apuntabais de la lentitud
de acceso al datastore en el SDK.

No obstante quitando todas estas limitaciones y alguna más, que espero
se vayan corrigiendo / añadiendo, GAE es un servicio que me encanta y
que seguro voy a utilizar mucho. Los servicios equivalentes de Amazon
requiren mucho más esfuerzo utilizarlos: GAE es mucho más sencillo e
inmediato.

saludos!

2008/8/9 Ubaldo Huerta <uba...@gmail.com>:
--
Alberto Gimeno Brieba
Presidente y fundador de
Ribe Software S.L.
http://www.ribesoftware.com
ri...@ribesoftware.com

Contacto personal
eMail: gime...@gmail.com
GTalk: gime...@gmail.com
msn: gime...@hotmail.com
página web: http://gimenete.net
teléfono móvil: +34 625 24 64 81

Alberto Gimeno

unread,
Aug 26, 2008, 12:49:26 PM8/26/08
to lab...@googlegroups.com
Parece ser que resolvieron el problema de re-indexar un registro al
actualizar texto
http://code.google.com/p/googleappengine/issues/detail?id=337

2008/8/12 Alberto Gimeno <gime...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages