Google App Engine es un servicio para alojar aplicaciones web. Como “aplicaciones web”, indicamos que es una aplicación o servicio accedido desde la web, usualmente con un browser: páginas como tiendas virtuales, sitios de redes sociales, sitios de juegos multi jugador, aplicaciones móviles, aplicaciones de encuesta, entre otras. El App Engine puede servir también contenido tradicional, como documentos o imagines, pero el entorno está diseñado para aplicaciones de tiempo real. De hecho, un browser es tan solo un tipo de cliente, una aplicación web también funciona bien en un dispositivo móvil.
En particular, Google App Engine está diseñado para alojar aplicaciones multi usuarios. Cuando una aplicación puede atender a múltiples usuarios sin degradar la rendimiento, se dice que esta aplicación es escalable. Las aplicaciones escritas para el Google App Engine escalan en forma automática. Si más personas utilizan la aplicación, el App Engine aloja más recursos para esta aplicación y administra el uso de estos recursos. La aplicación en sí, no requiere conocer sobre el uso de recursos en sí.
A diferencia de los servicios de alojamiento tradicionales o servidores que uno puede administrar, con Google App Engine, sólo paga por los recursos utilizados. El pago es por recursos de CPU, almacenamiento mensual, ancho de banda utilizado y distintos recursos dentro del App Engine es lo que se factura. Para iniciar, Google App Engine proporciona cierta cantidad de recurso gratis, perfecto para aplicaciones pequeñas con bajo tráfico.
El App Engine es parte del servicio de Google Cloud Platform o plataforma de nube de Google, el cual es un conjunto de servicios para ejecutar aplicaciones escalables, realizar un gran trabajo de computacional, y para almacenar, utilizar, y analizar un gran número de información. Las características de la plataforma trabajan para alojar en forma eficiente y efectiva, y al mínimo costo las aplicaciones. App Engine utiliza los otros servicios del servidor de acuerdo a como los necesite, especialmente para el almacenamiento de datos.
Una aplicación a ser alojada en el App Engine esta descrita para tener te partes principales: la instancia de la aplicación, almacenamiento de datos escalable y servicios escalables.
Basado en el libro «Programming Google App Engine with Java«.