Google App Engine: amor a primera vista

Google Appengine consiste en tres elementos fundamentales:

  1. Un SDK (cómo no) del estilo “aplicaciones web desarrolladas a toda velocidad”.
  2. Un panel de control web para monitorizar la aplicación (picos de CPU, errores, versionado, etc).
  3. La infraestructura distribuida de Google para almacenamiento, cálculo, escalabilidad, APIs, etc.

Hay una serie de vídeos muy ilustrativos en la página oficial de este proyecto de Google.

Preguntas que yo me hice y respuestas que obtuve:

  1. ¿A quién va dirigido?: A cualquier desarrollador web con cualquier nivel de experiencia. Lógicamente, a mayor experiencia, mejores resultados en menos tiempo.
  2. ¿Qué lenguaje de programación soporta?: Muchos en el futuro, actualmente python.
  3. ¿Usa algún framework preexistente por debajo del que podamos hacer uso?: Sí, Django ¡!
  4. ¿Cuánto cuesta el “hosting” de Google para tus aplicaciones?: No queda claro pero tiene pinta de que será gratis en una versión “normal” y si tienes una megaweb de millones usuarios tendrás que comprar espacio en disco, más CPU, etc.
  5. ¿Cómo se hace un deploy de tu aplicación web?: la idea es que usas el SDK en tu máquina local y en cualquier momento ejecutas una orden en consola que se conecta a Google y almacena la nueva versión de aplicación. Interesante saber que desde el panel de control web puedes reactivar una versión antigua de tu aplicación instantáneamente (por ejemplo, una que no contuviera un error malvado).
  6. ¿Limitaciones en la API?: tres: nada de abrir sockets alegremente, los encapsulan con una API de Google. nada de guardar archivos en el disco duro (no hay), usas su base de datos a través de la API. Nada de threads, la arquitectura hardware y el Django que hay por debajo ya se encargan de todo eso por ti. Así que son limitaciones pero Google te ofrece una alternativa adecuada.
  7. ¿Qué sistemas operativos pueden usar el SDK localmente?: GNU/Linux, Mac y Windows. En realidad, cualquier entorno que soporte Python nativamente.
  8. ¿Esto es una beta o qué?: Sí pero es bastante funcional y merece la pena probarlo.
  9. ¿Dónde puedo ver aplicaciones realizadas con GAE?: aquí.
  10. ¿Es otro paso para la dominación del mundo por Google?: es posible. Imagino que quieren crear una red de aplicaciones web fácilmente integrables con sus otros servicios (google maps y gmail son jugosos ejemplos) y quizá promuevan el uso de su programa AdSense de anuncios pero al final, viendo los vídeos de presentación y la gente involucrada (el propio Guido, creador de Python), es un conjunto de herramientas que facilitan la creación y mantenimiento de aplicaciones web complejas.

Personalmente, me encanta que hayan elegido Python como lenguaje inicial y Django como framework MVC en particular. Google es muy pro-python pero hasta ahora se circunscribía fundamentalmente a desarrollos internos. Con este paso promueven este lenguaje, muy maduro y flexible, para desarrollos de terceros.

Deje un comentario