Descripción general de App Engine

Una aplicación de App Engine consta de un recurso de aplicación que consiste en uno o más servicios. Cada servicio se puede configurar para utilizar entornos de ejecución diferentes y operar con una configuración de rendimiento diferente. En cada servicio, puedes implementar versiones de ese servicio. Luego, cada versión se ejecuta en una o más instancias, según cuánto tráfico hayas configurado para que gestione.

Componentes de una aplicación

Tu app de App Engine se crea en el proyecto de Google Cloud Platform, cuando creas un recurso de aplicación. La aplicación de App Engine es un contenedor principal que incluye los recursos de instancia, de servicio y de versión que conforman tu app. Cuando creas una app de App Engine, todos tus recursos se crean en la región elegida, incluido el código de tu app junto con un grupo de configuraciones, credenciales y metadatos de tu app.

Cada aplicación de App Engine incluye al menos un servicio default que puede conservar todas las versiones del servicio que desees.

En el siguiente diagrama, se muestra la jerarquía de una app de App Engine que se ejecuta con varios servicios. En este diagrama, la app tiene dos servicios que contienen varias versiones y dos de esas versiones se ejecutan activamente en varias instancias.

Grafo de jerarquías de servicios, instancias y versiones de una aplicación

Otros servicios de GCP, como Cloud Datastore, se comparten en tu app de App Engine. Para obtener más información, consulta Estructura servicios web.

Servicios

Utiliza los servicios de App Engine para factorizar tus apps grandes en componentes lógicos que puedan compartir características de App Engine de forma segura y comunicarse entre sí. Generalmente, los servicios de App Engine se comportan como microservicios. Por lo tanto, puedes ejecutar tu app en un solo servicio o puedes diseñar y, además, implementar varios servicios para que ejecuten como un conjunto de microservicios.

Por ejemplo, una app que maneja tus solicitudes de cliente puede incluir servicios independientes que gestionan tareas diferentes, como las que se muestran a continuación:

  • Solicitudes a la API desde dispositivos móviles
  • Solicitudes de administración internas
  • Procesamiento de backend, como canalización de facturación y análisis de datos

Cada servicio de App Engine consta del código fuente de tu app y los archivos de configuración de App Engine correspondientes. El conjunto de archivos que implementas en un servicio representa una sola versión de ese servicio y cada vez que implementas en ese servicio, creas versiones adicionales dentro de este.

Versiones

Tener varias versiones de tu app en cada servicio te permite alternar rápidamente de versión para reversiones, pruebas o distintos eventos temporales. Puedes enrutar tráfico a una o más versiones específicas de tu aplicación mediante la migración o la división del tráfico.

Instancias

Las versiones de tus servicios se ejecutan en una o más instancias. De forma predeterminada, App Engine escala tu app para que coincida con la carga. Tus apps escalarán la cantidad de instancias que se ejecutan para brindar un rendimiento coherente o reducirán la escala con el objetivo de minimizar las instancias inactivas y reducir costos. Para obtener más información sobre las instancias, consulta Cómo se administran las instancias.

Solicitudes de aplicación

Cada uno de los servicios de tu app y cada una de sus versiones deben tener un nombre único. Puedes usar esos nombres únicos para orientar y enrutar el tráfico a recursos específicos mediante las URL, por ejemplo:

http://my-version.my-service.my-project-id.appspot.com
https://my-version-dot-my-service-dot-my-project-id.appspot.com

Las solicitudes de usuario entrantes se enrutan a los servicios o a las versiones que se configuraron para manejar el tráfico. También puedes orientar y enrutar las solicitudes a servicios y a versiones específicos. Para obtener más información, consulta Comunicación entre servicios.

Registra solicitudes de la aplicación

Cuando tu aplicación maneja una solicitud, también puede escribir sus propios mensajes de registro en stdout y stderr. Para obtener más información sobre los registros de tu app, consulta Escribe registros de la aplicación.

Límites

Existen límites en la cantidad de instancias (para servicios con escalamiento manual), versiones y servicios según cada aplicación:

Descripción Límite
Número máximo de servicios por aplicación 5
Número máximo de versiones por aplicación 5 *
Número máximo de instancias por versión con escalamiento manual 20

* Los servicios de backend, como un servicio de backend usado por un balanceador de cargas de HTTP externo, se pueden considerar en el límite máximo de versiones.

No todos los proyectos tienen los límites anteriores. A medida que tu uso de Google Cloud Platform incrementa con el paso del tiempo, tus límites pueden aumentar en consecuencia. Si anticipas que en un futuro próximo tendrás un aumento notable en el uso, puedes solicitar ajustes de forma proactiva en la página de cuotas de App Engine en GCP Console.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno flexible de App Engine para Go