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 uno de estos servicios se puede configurar para usar distintos entornos de ejecución y operar con configuraciones de rendimiento diferentes. En cada servicio, implementas versiones de ese servicio. Cada versión luego se ejecuta en una o más instancias en función del tráfico que pueda controlar según su configuración.

Componentes de una aplicación

Tu aplicación de App Engine se crea como parte del 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, servicio y versión que conforman la aplicación. Cuando creas la aplicación de App Engine, todos los recursos se crean en la región elegida, incluido el código de la aplicación junto con un conjunto de ajustes, las credenciales y los metadatos de la aplicación.

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

El siguiente diagrama ilustra la jerarquía de una aplicación de App Engine que se ejecuta con servicios múltiples. En este diagrama, la aplicación tiene dos servicios que contienen varias versiones, y dos de esas versiones se ejecutan activamente en múltiples 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 aplicación de App Engine. Para obtener más información, consulta Estructurar servicios web.

Servicios

Utiliza los servicios de App Engine para factorizar las aplicaciones grandes en componentes lógicos que puedan compartir características de App Engine y comunicarse entre sí de forma segura. Generalmente, los servicios de App Engine se comportan como microservicios. Por lo tanto, puedes ejecutar toda tu aplicación en un solo servicio, o puedes diseñar y luego implementar múltiples servicios para que funcionen como un conjunto de microservicios.

Por ejemplo, una aplicación que controla las solicitudes de clientes podría incluir servicios independientes que administren diferentes tareas, como las siguientes opciones:

  • 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 consiste en el código fuente de la aplicación y los archivos de configuración de App Engine correspondientes. El conjunto de archivos que implementas en un servicio representan una sola versión de ese servicio y cada vez que realizas implementaciones en este, creas versiones adicionales dentro del mismo servicio.

Versiones

Tener múltiples versiones de tu aplicación en cada servicio te permite alternar rápidamente la 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 la aplicación para que coincida con la carga. Las aplicaciones aumentarán la cantidad de instancias que se ejecutan a fin de brindar un rendimiento coherente, o la reducirán para minimizar las instancias inactivas y reducir los costos. Si deseas obtener más información sobre las instancias, consulta Cómo se administran las instancias.

Solicitudes de la aplicación

Cada uno de los servicios de la aplicación y cada una de las versiones de esos servicios deben tener un nombre único. Luego, puedes utilizar esos nombres únicos para orientar y enrutar el tráfico a recursos específicos mediante el uso de la 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 usuarios entrantes se enrutan a los servicios o a las versiones configurados para controlar el tráfico. También puedes orientar y enrutar las solicitudes a servicios y versiones específicos. Para obtener más información, consulta Manejar solicitudes.

Registrar solicitudes de las aplicaciones

Cuando la aplicación controla 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 la aplicación, consulta Escribir registros de la aplicación.

Límites

La cantidad máxima de servicios y versiones que puedes implementar depende de los precios de la aplicación:

Límite Aplicación gratuita Aplicación pagada
Número máximo de servicios por aplicación 5 105
Número máximo de versiones por aplicación 15 210

También existe un límite en la cantidad de instancias para cada servicio con el escalamiento básico o manual:

Máximo de instancias por versión de escalamiento manual/básico
Aplicación gratuita Aplicación pagada en EE.UU. Aplicación pagada en la UE
20 25 (200 para us-central) 25
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Go