Mis tropiezos con Google App Engine

¿Es Google App Engine una plataforma suficiente para desarrollar aplicaciones “serias”? ¿O son sus limitaciones demasiado restrictivas en algunos casos?

Logo 'roto' de Google App EngineHace bastante tiempo que tengo en mente una idea para desarrollar una aplicación web y, cuando me decidí por fin a implementarla, elegí Google App Engine, a pesar de que no conocía Python, el único lenguaje que soporta ahora mismo (aunque ha sido una buena excusa para aprender) y a pesar de algunas limitaciones propias de un servicio gratuito y en pruebas.

Al fin y al cabo, esos inconvenientes parecían quedar ampliamente superados por las ventajas de usar la misma infraestructura que usa Google para sus propias aplicaciones: robustez, existencia de un entorno de desarrollo, APIs de gestión de usuarios, de almacenamiento de datos, etc.

Sin embargo, los primeros desarrollos han hecho que dos de esas limitaciones se conviertan en importantes barreras para desarrollar una aplicación que tiene que acceder a otros sitios web:

  • Google App Engine funciona únicamente para aplicaciones interactivas, del tipo “petición web”-”respuesta”, proceso que debe ser completado en pocos segundos. Dicho de otro modo: no existe soporte para procesos batch o planificados de mayor duración. A pesar de que existen algunas soluciones más o menos válidas para evitar restricción, sería deseable que Google incluyera esa funcionalidad en su servicio; de hecho, es una de las más reclamadas por los usuarios.

Esta limitación es especialmente restrictiva cuando la aplicación tiene que acceder a sitios web de terceros: las conexiones son lentas, los servidores tardan en responder, … Al final sólo se pueden visitar unas pocas URLs antes de que se produzca el timeout.

  • Los accesos a otros sitios web se realizan a través de un API específico de Google, que impide que se puedan modificar determinadas cabeceras HTTP; entre ellas, la cabecera User-Agent. Esto no sería mayor inconveniente si no fuera porque otros sitios web (por ejemplo, el API de Delicious) leen su valor para decidir si responden a la petición o no; y parece que no responden al User-Agent que envía Google.

Es decir, Google App Engine no permite modificar esa cabecera en las peticiones, y Delicious parece bloquear las peticiones con la cabecera que envía. Un problema que parece poco importante en principio pero que tiene difícil solución.

Estos temas hacen que me esté cuestionando si, a pesar de sus incuestionables ventajas, Google App Engine fue una elección adecuada o no. ¿Tenéis alguna idea al respecto, o conocéis otras alternativas a Google App Engine?

Actualización 11-mar-2009

Buenas noticias. Ahora mismo parece que ya se puede acceder desde Google App Engine a la API de Delicious sin problemas, seguramente porque Delicious ha dejado de bloquearlas. Además, parece que está en los planes de Google, entre otras cosas, dar soporte a tareas planificadas y procesos en background.

Bien por las empresas que escuchan a sus usuarios y dan respuesta a sus necesidades.

MeneameLinkedInMore...

3 thoughts on “Mis tropiezos con Google App Engine

  1. Pingback: diseño web

  2. Lucía Fernanda

    Hola no sabes si este servicio de Google App Engine está disponible para Uruguay?

    Trato de registrarme pero no me acepta mi número de teléfono móbil.

    Muchas gracias por cualquier ayuda.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>