Google App Engine: nuestros proyectos en la nube

28 octubre, 2010, Comentar

Google App Engine

Tal y como comenté en el post anterior sobre Amazon EC2, cuando diseñamos una aplicación es difícil a priori determinar cuáles van a ser los recursos que vamos a necesitar. Para lidiar con este problema podemos usar diferentes soluciones. En este artículo voy a explicar qué es Google App Engine y cómo podemos aprovecharnos de él para el desarrollo de nuestros proyectos.

Google App Engine es un servicio que ofrece Google en el cual podemos subir y ejecutar nuestros proyectos. Nosotros como desarrolladores únicamente hemos de preocuparnos de escribir código y subirlo al servicio. A partir de este momento nuestro proyecto se servirá desde la URL que tengamos asociada al servicio sin tener que preocuparnos de cosas como instalar un servidor, configurar los distintos servicios, agregar usuarios, agregar los dominios a alojar, comprobar que el servidor no se queda pequeño y ver si hay que contratar otro, etc. Además Google se encarga de que a medida que se necesiten más recursos ampliar el número de servidores en los que tu aplicación se ejecuta, sin que tú tengas que intervenir, de una manera transparente. Así te olvidas de tener que preocuparte por actualizar tus servidores, estar pendiente de que no te hayan hackeado el servidor y tienes alta disponibilidad y tolerancia a fallos de una manera sencilla.

Al igual que en Amazon EC2, en Google App Engine se paga en función del uso que le demos a nuestra aplicación, en esta página podéis consultar los precios del servicio. Una característica del servicio que nos viene muy bien en la época de desarrollo de la aplicación es que los primeros 500 MB de almacenamiento en disco, el primer GB de salida de datos y el primer GB de entrada son totalmente gratis.

Está claro que no todo son ventajas, algunos inconvenientes tiene en relación a EC2. Por ejemplo no puedes ejecutar código de cualquier lenguaje de programación ni usar la base de datos que quieras, estás limitado a usar o bien Java o Python como lenguaje de programación y su base de datos BigTable. Sin embargo desde mi punto de vista si tienes soltura con Python y un framework como Django y estás dispuesto (cosa que recomiendo si vas a desarrollar un proyecto grande en el que la escalabilidad va a ser un factor crítico) a usar una base de datos no relacional schemaless como podría ser MongoDB es una opción que recomendaría sin lugar a dudas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>