Descripción general de App Engine

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.

Obtén más información acerca de los ID de región.

Una aplicación de App Engine consta de un solo 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 distinta. Dentro de cada servicio se implementan sus versiones. Luego, cada versión se ejecuta en una o más instancias, según la cantidad de tráfico que configuraste para que maneje.

Componentes de una aplicación

Tu aplicación de App Engine se crea en el proyecto de Google Cloud cuando creas un recurso de aplicación. La aplicación de App Engine es un contenedor de nivel superior que incluye el servicio, la versión y los recursos de instancias que componen la app. Cuando creas una app de App Engine, todos los recursos se crean en la región elegida, incluido el código y los metadatos de la app, y un conjunto de parámetros de configuración y credenciales. Más información sobre "recursos de aplicación" (estándar | flexible) y en qué regiones puedes crearlos.

Cada aplicación de App Engine incluye al menos un servicio, el default, que puede contener muchas versiones, según el estado de facturación de la app. Para obtener más información, consulta Límites a continuación.

En el siguiente diagrama, se muestra la jerarquía de una aplicación 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 de manera activa en varias instancias.

Gráfico de jerarquías de servicios, instancias y versiones de una app

Otros servicios de Google Cloud, como Datastore, se comparten en la app de App Engine. Para obtener más información, consulta "Estructura servicios web" (estándar | flexible).

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í. En general, los servicios de App Engine se comportan como microservicios. por lo que puedes ejecutar tu app en un solo servicio o puedes diseñar y, además, implementar varios servicios para que se 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 todo el tráfico a una versión específica de tu app mediante la "migración del tráfico(estándar | flexible) o enrutar a varias versiones de tu app mediante la "división el tráfico" (estándar | flexible).

Instances

Las versiones de tus servicios se ejecutan en una o más instancias. De forma predeterminada, App Engine escala tu aplicación 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(estándar | flexible).

En el entorno flexible de App Engine, las instancias se respaldan con recursos de Compute Engine. Algunos de los recursos que usan las instancias en el entorno flexible de App Engine, como el disco, la CPU y la memoria, se tienen en cuenta para las cuotas de API de Compute Engine de tu proyecto. Para obtener más detalles sobre cómo App Engine usa los recursos de Compute Engine, consulta la descripción general del entorno flexible de App Engine.

Solicitudes de aplicación

Cada uno de los servicios de tu app, así como 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:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.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 enviar solicitudes hacia servicios y versiones específicos. Para obtener más información, consulta "Cómo establecer comunicaciones entre los servicios(estándar | flexible).

Registro de las solicitudes de la aplicación

Cuando la aplicación maneja una solicitud, también puede escribir sus propios mensajes de registro en stdout y stderr. Para obtener detalles sobre los registros de tu app, consulta “Cómo escribir registros de aplicaciones(estándar | flexible).

Límites

El entorno flexible y el estándar comparten los mismos límites para los servicios y las versiones. Por ejemplo, si tienes versiones estándar y flexibles en la misma app, esas versiones se tendrán en cuenta para el mismo límite. Para obtener más información, consulta “Cuotas y límites(estándar | flexible).