Si tenéis pensado desarrollar una aplicación o al menos tenéis la idea de ello, Google App Engine puede que os interese. De una forma resumida, podríamos definir Google App Engine como un servicio que permite ejecutar tus aplicaciones web utilizando la infraestructura de Google. Poder dar a tu aplicación tu propio nombre de dominio o restringir el acceso son características disponibles.

Los lenguajes soportados por Google App Engine son Python, Java, Go y desde hace unas pocas fechas PHP. Tras saber un poco de este servicio que proporciona Google, pasemos a ver de una manera algo más detallada qué nos ofrece.

1. Almacén de datos

App Engine proporciona un potente servicio de almacenamiento de datos distribuido que además incluye un motor de búsqueda y de transacciones. A medida que vuestra App aumenta con el tráfico, el almacén de datos crece.

El almacén de datos es de consistencia fuerte y utiliza el control de concurrencia optimista. Por encima de todo se garantiza la integridad de tus datos.

2. Google Accounts

Evidentemente App Engine admite la integración de las aplicaciones con Google Accounts para la autenticación de usuarios. Acceder a tus aplicaciones con las cuentas de Google Accounts es una avance ya que permite a los usuarios acceder a las aplicaciones de una forma más rápida.

También mirando el desarrollo, evitar el desarrollo e implementación de un sistema de cuentas de usuario, es un ahorro importante en tiempo (y en dinero).

3. Servicios

Otro de los puntos a destacar son algunas características que App Engine proporciona y que nos facilitan el trabajo al administrar nuestra aplicación:

  • Extracción de URL: Recupera recursos web mediante la misma infraestructura de alta velocidad de Google.
  • Correo: La App puede enviar correos electrónicos a los usuarios por medio de las herramientas de Google.
  • Memcache: App Engine proporciona una memoria caché de valores-claves de alto rendimiento accesible desde varias instancias de tu aplicación. Resulta útil para datos que no necesitan las funciones de persistencia y transacciones del almacén de datos. Velocidad.
  • Manipular imágenes: Recortar, girar o ajustar imágenes desde tu aplicación de una forma sencilla.
    • 4. Cron

      Además de las lógicas solicitudes web, tu aplicación puede realizar tareas programadas según el desarrollador configure (cada día, cada hora..). Las tareas programadas se conocen como ‘tareas cron’ ya que el servicio ‘cron’ es el que las gestiona. Existe una documentación muy útil sobre la utilización de dicho servicio para Python y para Java.

      Las colas de tareas aún están incluidas de forma experimental, sólo están disponibles para en lenguaje Python, pero Google App Engine evoluciona rápido y pronto estará disponible para Java y para PHP posteriormente.

      5. Desarrollo local

      Google App Engine permite que generes en local un entorno idéntico al de Google App Engine en la nube. Es decir, podrás realizar tu App y probarla con la máxima seguridad que una vez la subas, todas las ‘features’ de tu App funcionarán a la perfección.

      6. Control

      Puedes registrar 10 Apps por cuenta de desarrollador. Si estás pensando en destruir las cuotas o hacer un mal uso de ellas creando Apps en varias cuentas que trabajen conjuntamente, Google ya lo ha pensado antes que tú. Si Google encuentra algún tipo de infracción puede inhabilitar tu cuenta o cerrarla definitivamente.

      7. Java

      ¿Tu aplicación es JSP? Google App Engine admite las herramientas de desarrollo web Java y de estándares del API conocidos. El SDK Java de App Engine permite desarrollar aplicaciones que utilicen tanto Java 5 como Java 6.

      Gracias al uso de intérpretes o de compiladores con JVM, también puedes utilizar otros lenguajes para desarrollar aplicaciones web como, JavaScript, Ruby o Scala.

      8. Python

      Google App Engine también permite aplicaciones desarrolladas en Python. Además incluye varias API y herramientas para el desarrollo, así como una API de modelado de datos detallado, un marco de aplicaciones web fácil de utilizar.

      Django también está soportado.

      9. PHP

      Una de las novedades de la pasada Google IO 2013 fue el anuncio del soporte de PHP en Google App Engine. Hasta hace pocos días, estaba disponible solamente para algunos desarrolladores pero ya es una realidad para el todos.

      Todavía es pronto para ver los resultados pero phpMyAdmin, Drupal, phpBB y frameworks como Laravel, Silex o CodeIgniter se podrán utilizar, veremos el resultado.

      10. Zona de pruebas

      La zona de pruebas aísla la aplicación en su propio entorno seguro de confianza, totalmente independiente del hardware, del sistema operativo y de la ubicación física del servidor web.

      Tu aplicación solo podrá acceder a otros equipos de internet a través de los servicios de correo y extracción de URL proporcionados por App Engine. El resto de equipos solo podrán conectarse a vuestra App por medio de los protocolos HTTP y HTTPS.

      Otro punto a destacar es que una App no puede escribir en el sistema de archivos.

      11. Cuotas

      Además de sencillo, App Engine es gratis. Crear una cuenta, publicar tu App y que otros usuarios puedan utilizarla al momento, no tiene ningún coste, es gratis. El ‘paquete gratuito’ dispone de 500 MB de espacio para tu App y admite hasta 5 millones de visitas mensuales. Si llega el momento en el que necesitas facturar, puedes habilitarlo y establecer un presupuesto diario máximo y asignarlo para cada recurso según las necesidades.

      12. Escalable

      Una de las principales cosa a tener en cuenta al hacer una App es la escalabilidad. El que sea más fácilmente escalable es un punto a tener muy en cuenta. Google App Engine destaca por ello, al igual que por la estabilidad y por la seguridad de ‘nuestras’ Apps.



      Google App Engine es una herramienta que según para qué tipo de proyectos puede ser más que interesante. Ofrece de manera gratuita y sencilla servicios necesarios para desarrollar nuestra aplicación.

      El punto que no me acaba de convencer es el de ‘subir’ tu App a Google. Si yo tuviera la idea del millón de dólares probablemente no utilizaría Google App Engine para llevarla a cabo, pero para App más de andar por casa no dudaría y lo utilizaría. ¿Qué opináis?



      Imagen destacada cortesía de sriya Paireepairit.


      Unadocenade también está en Google Currents. Suscríbete.
      Los post de Unadocenade se pueden republicar siempre que respetes nuestras condiciones de republicación.

      Sobre Israel Ortíz de Zárate


      Se dedica al análisis, desarrollo y arquitectura de Software en empresa de innovación, realiza principalmente aplicaciones de stress y de automatización de tareas en el campo de la aeronáutica y de espacio. Linuxero y appleadicto. Gamer de carnet y geek a tiempo completo. Mente pensante y amago de jugador de baloncesto. Dormir es su pasión.