Cómo administrar 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.

Se usan dos tipos de verificaciones de estado: capacidad de respuesta y preparación. Las verificaciones de actividad confirman que una instancia y su contenedor se están ejecutando, lo que reinicia cualquier instancia que falle en la verificación. Las comprobaciones de disponibilidad confirman que una instancia está lista para aceptar solicitudes entrantes, no para reenviar solicitudes a instancias en las que falla la verificación. Ambos se pueden personalizar a través del archivo app.yaml de tu app.

Una aplicación en buen estado debería 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 proporciona visibilidad sobre el rendimiento de tus 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 versión controla cómo se crean las instancias adicionales. La configuración de escalamiento se configura 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 la tasa 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 independientemente del nivel de carga. Esto permite ejecutar tareas como inicializaciones complejas y aplicaciones que se basan en el estado de la memoria en el tiempo.