Cómo se administran las instancias

Las instancias son las unidades de computación que App Engine usa para realizar un ajuste de escala automático de tu aplicación. En cualquier momento, tu aplicación se puede ejecutar en una o varias instancias y las solicitudes se extienden por todas ellas.

Tus instancias con escalamiento básico y manual deben ejecutarse de forma indefinida, pero no existe garantía de tiempo de actividad. Las fallas de hardware o software que generan la finalización temprana o los reinicios frecuentes pueden ocurrir sin previo aviso y su resolución puede llevar mucho tiempo.

Todas las instancias flexibles se reinician cada semana. Durante los reinicios, las actualizaciones que son críticas y compatibles con versiones anteriores se implementan automáticamente en el sistema operativo utilizado. La imagen de tu aplicación permanecerá igual durante los reinicios.

Cómo hacer la verificación de estado

App Engine envía solicitudes periódicas de verificación de estado para confirmar que una instancia se implementó correctamente y comprobar que una instancia en ejecución se mantiene en buen estado. Cada verificación de estado debe recibir una respuesta dentro de un intervalo de tiempo determinado. Una instancia está en mal estado cuando no responde a un número específico de solicitudes de verificación de estado consecutivas. Una instancia en mal estado no recibirá solicitudes de clientes, pero se seguirán enviando verificaciones de estado. Si una instancia en mal estado sigue sin responder a una cantidad predeterminada de solicitudes de verificación de estado consecutivas, deberá reiniciarse.

Existen dos tipos de verificaciones de estado: de funcionamiento y de preparación. Las verificaciones de funcionamiento confirman que una instancia y su contenedor están en ejecución, y reinician las instancias que fallen la verificación. Las verificaciones de preparación confirman que una instancia está lista para aceptar solicitudes entrantes, y no reenvían solicitudes a ninguna instancia que no aprueben la verificación. Ambas se pueden personalizar a través del archivo app.yaml de la app.

Una aplicación en buen estado debe responder a una verificación de estado con un código de estado HTTP de 200.

Supervisar el uso de recursos

La página Instancias de Cloud Console te permite visualizar el rendimiento de las instancias. Puedes ver el uso de la memoria y la CPU de cada instancia, el tiempo de actividad, la cantidad de solicitudes y otras estadísticas. También puedes iniciar de forma manual el proceso de cierre para cualquier instancia.

Ubicación de instancias

Las instancias se ubican automáticamente por región geográfica según la configuración del proyecto.

Escalamiento de instancias

Mientras se ejecuta una aplicación, las solicitudes entrantes se enrutan hacia instancias nuevas o existentes de las versiones o los servicios correspondientes. Cada versión activa debe tener al menos una instancia en ejecución, y el tipo de escalamiento de un servicio o una versión controla cómo se crean las instancias adicionales. La configuración del escalamiento se realiza en el archivo app.yaml. Existen dos tipos de escalamiento:

Ajuste de escala automático
El ajuste de escala automático crea instancias según el porcentaje de solicitudes, las latencias de respuesta y otras métricas de la aplicación. Puedes especificar umbrales para cada una de estas métricas, así como una cantidad mínima de instancias que deben seguir ejecutándose en todo momento.
Escalamiento manual
El ajuste de escala manual especifica la cantidad de instancias que se ejecutan de forma continua sin importar el nivel de carga. Esto permite ejecutar tareas como inicializaciones complejas y aplicaciones que se basan en el estado de la memoria en el tiempo.