El día de ayer (7 de abril), fue lanzado el preview del nuevo servicio web de Google, "App Engine". ¿Qué es Google App Engine? según Kevin Gibbs en la presentación del producto, en el primer Campfire (podríamos traducirlo como fogata), lo ha definido como el sistema que expone la infraestructuta de la red de Google a las aplicaciones web desarrolladas por cualquiera. Por lo pronto el servicio esta en modo preview, osea en beta y las 10,000 invitaciones originales están agotadas, lo se porque intente inscribirme y ya no me aceptaron . Originalmente el servicio ofrece 500 MB de espacio para alojar la aplicación, aunque ésto es sólo el preview, no sabemos si dicha capacidad aumentará con el tiempo, como sucedió con Gmail que comenzó con 2 GB y ahora ya anda por los 6.6 GB.
¿Por qué Google está ofreciendo éste servicio?, pues de acuerdo a lo expresado en la presentación del mismo es por estas razones:
- Crear y desarrollar aplicaciones web es difícil, pues se debe de configurar servidores, instalar servicios como web, base de datos, etc., además de un constante monitoreo de los servidores y la aplicación, todo ésto es lo que Gibbs definió como el reto del administrador de sistemas (sysadmin).
- Desplegar esta infraestructura cuesta dinero, comprar servidores, comprar líneas dedicadas, o hostear el servidor en algún data center implica conseguir los fondos para financiar el proyecto, a esto lo llamo el reto financiero.
- Mantener la aplicación es el tercer gran reto, darle mantenimiento a los equipos, pues los discos duros se malogran, o se requiere más memoria en los servidores, son trabajo rutinarios que deben ser atendidos, adicionalmente si la aplicación es exitosa y se vuelve popular se enfrenta un mayor reto aún, escalar la aplicación, ésto muchas veces requiere el que se reescriba parte de la misma además de que se encesita mayores inversiones en hardware.
Muy bien las razones de Google para ofrecer este servicio estan claras, han identificado una necesidad en el mercado, y para ello ofrecen éste nuevo servicio para los desarrolladores, entonces cuáles han sido sus objetivos de diseo en Google App Engine, en la misma presentación Kevin Gibbs, enuncia tres objetivos básicos que se buscaron cuando se diseño App Engine:
- Fácil de usar, pues justamente la parte engorrosa de la administración de sistemas correrá a cargo de Google.
- Fácil de escalar, pues correra sobre la infraestructura de Google, por lo tanto puede crecer a lo largo de ella.
- Muy fácil de empezar, no debe ser necesario más que descargar un SDK para comenzar a desarrollar la apliación, sin requerir sofisticadas configuraciones por parte de los desarrolladores.
Por lo tanto, Google desea que todos los desarrolladores se enfoquen sólo en el trabajo creativo de desarrollar una nueva aplicación, y no en los detalles de implementar la misma en Internet, para ello Google App Engine proveera lo siguiente:
- Infraestructura escalable bajo demanda.
- Runtime Python (por lo pronto el primer lenguaje soportado en App Engine).
- Software Development Kit (SDK, que se puede descargar gratuitamente).
- Una consola basada en web para administrar la aplicación.
- Data Store (ojo no se ofrece una base de datos SQL, pero si un sistema de almacenamiento de gran capacidad).
Luego de la introducción de las características básicas de Google App Engine, se procedió a una demostración de cómo desarrollar aplicaciones para la plataforma, aquí el video de YouTube donde se puede ver un ejemplo:
Aquellos que deseen descargar el SDK de App Engine, lo pueden hacer desde aquí:
Una galería de proyectos desarrollados haciendo uso de App Engine está disponible aquí:
Finalmente la documentación en inglés para comenzar con Google App Engine está disponible aquí:
Lo único que no me ha gustado de éste proyecto es que mi lenguaje favorito PHP no está soportado aún, y que no exista una DB SQL disponible, eso lamentablemente limita un poco mi "creatividad" de copiar/pegar aplicaciones web populares .
UPDATE: App Engine tiene un blog en blogger: http://googleappengine.blogspot.com/