Motor de aplicaciones de Google | |
---|---|
Tipo de |
entorno de desarrollo de framework web |
Desarrollador | |
Escrito en | Pitón |
Sistema operativo | GNU/Linux |
ultima versión | 1.9.6 ( 3 de junio de 2014 ) |
Licencia | GPLv2 |
Sitio web | appengine.google.com |
Archivos multimedia en Wikimedia Commons |
Google App Engine es un servicio de alojamiento de sitios y aplicaciones web en servidores de Google con nombre libre <sitename>.appspot.com o con su propio nombre , habilitado mediante los servicios de Google .
App Engine presentado en abril de 2008 , disponible como cuentas gratuitas: [1] "... hasta 1 GB de espacio en disco, 10 GB de tráfico entrante por día, 10 GB de tráfico saliente por día, 200 millones de gigaciclos de CPU por día y 2.000 operaciones de correo electrónico al día”, [2] y la posibilidad de adquirir recursos adicionales [3] .
Las aplicaciones implementadas en App Engine deben estar escritas en Python , Java , Node.JS , .NET , Ruby , Go o PHP . Los dos últimos siguen teniendo el estatus de herramientas "experimentales", aunque Google ha anunciado su intención de ampliar la lista de lenguajes y entornos de programación soportados, e independizar el propio servicio de cualquier lenguaje de programación. El tiempo de ejecución de Python [4] incluye una implementación completa de las capacidades de Python, la mayoría de las funciones de la biblioteca estándar del lenguaje , una versión limitada de Django , etc.
Se proporciona un conjunto de API para servicios de almacenamiento, API de almacenamiento de datos ( BigTable ), [5] cuentas de Google, [6] carga de datos por URL, [7] correo electrónico [8] , etc.
Proporcionó la capacidad de usar el programador de tareas cron para aplicaciones Python y Java . Se permite programar un máximo de 20 trabajos. [9] [10]
El uso del servicio de cuenta de Google le permite comenzar a trabajar rápidamente con la aplicación, no es necesario registrar sus credenciales por separado en cada sitio. También permite que el desarrollador no se preocupe por implementar otro sistema de registro de usuarios específico para su aplicación.
La plataforma de Google compite con servicios similares de Amazon , que brindan la capacidad de alojar archivos y aplicaciones web utilizando su infraestructura.
A diferencia de muchos alojamientos de aplicaciones de máquinas virtuales convencionales, como Amazon EC2 , App Engine está estrechamente integrado con las aplicaciones e impone algunas restricciones a los desarrolladores. Los entornos de procesamiento paralelo le permiten usar gran parte del software creado para sistemas tipo Unix, mientras que App Engine requiere que el desarrollador use uno de los lenguajes de programación: Python, Java, Go (desde mayo de 2011) o PHP (en modo experimental), y para almacenar información, utilice el almacenamiento, un subconjunto de la base de datos patentada BigTable ( en ), que es el conocimiento de Google .
Aunque es posible ejecutar muchas aplicaciones desarrolladas en Python sin cambios en App Engine (con la excepción de aquellas que requieren acceso a funciones del sistema de bajo nivel o acceso a la red), el uso del almacenamiento requerirá un esfuerzo significativo por parte de los desarrolladores para adaptar las aplicaciones. A diferencia de los populares DBMS MySQL y PostgreSQL , el repositorio no es una base de datos relacional y no requiere un esquema o normalización de datos . La arquitectura de la plataforma admite el escalado sin cambiar el código. La implementación del soporte de lógica relacional conduciría a una importante ralentización del trabajo [11] [12] . La naturaleza no relacional del almacenamiento requiere que los desarrolladores utilicen una arquitectura de almacenamiento y procesamiento de datos no tradicional.
Al mismo tiempo, todas estas restricciones pueden hará que muchos desarrolladores hagan esfuerzos adicionales para adaptarse al nuevo entorno, y preferirán elegir plataformas alternativas.
El tiempo de ejecución de Google App Engine permite que el desarrollador controle solo un subconjunto de la configuración del sistema operativo, lo que puede ser difícil para el desarrollo de aplicaciones.
Sin acceso de escritura al sistema de archivos del servidor. La única forma de almacenar datos es el almacenamiento interno, una base de datos altamente escalable y no relacional. El repositorio es diferente de las bases de datos relacionales MySQL y PostgreSQL que utilizan la mayoría de los sitios.
Los sistemas de gestión de sesiones que utilizan el sistema de archivos no funcionarán. Google ofrece una alternativa, la API de Memcached . Es posible organizar la autorización de usuarios a través de cuentas de Google.
Google hace un uso extensivo de la tecnología MapReduce en sus aplicaciones , y es probable que su soporte se agregue a las capacidades de la plataforma. [13]
App Engine tiene compatibilidad con SQL con Google Cloud SQL [14] .
El sitio helloworld.appspot.com desde una sola página "index.html" requiere [15] subir [16] dos archivos a los servidores de Google App Engine:
Computación en la nube | ||
---|---|---|
Aplicaciones | ||
Plataformas |
| |
Infraestructura | ||
Tecnología |