En este documento se describen las distintas opciones de implementación disponibles en Cloud Run y se explican los recursos de Cloud Run disponibles.
Opciones de implementación
Cloud Run ofrece varias opciones de implementación. Después del despliegue, todas las opciones se ejecutan como instancias de contenedor en un espacio aislado en la infraestructura totalmente gestionada y altamente escalable de Cloud Run.
Imágenes de contenedor desplegables
Puedes desplegar cualquier imagen de contenedor que cumpla el contrato de tiempo de ejecución de contenedores de Cloud Run en un servicio o trabajo de Cloud Run
Servicios de Cloud Run
Los servicios son uno de los recursos principales de Cloud Run. Cada servicio se encuentra en una Cloud de Confiance región específica. Para ofrecer redundancia y conmutación por error, Cloud Run replica automáticamente los servicios en varias zonas de una región. Un Cloud de Confiance proyecto determinado puede ejecutar muchos servicios en diferentes regiones.
Cada servicio expone un endpoint único. De forma predeterminada, Cloud Run escala automáticamente para gestionar las solicitudes entrantes. Si es necesario, puedes cambiar el comportamiento de escalado a escalado manual. Puedes desplegar un servicio desde un contenedor, un repositorio o un código fuente.
En el siguiente diagrama se muestra el modelo de recursos de Cloud Run para los servicios:
En el diagrama se muestra un Cloud de Confiance proyecto que contiene tres servicios de Cloud Run (Servicio A, Servicio B y Servicio C), cada uno de los cuales tiene varias revisiones:
El servicio A está recibiendo varias solicitudes, por lo que Cloud Run ha iniciado varias instancias para gestionar la carga. Cada una de estas instancias ejecuta un solo contenedor (el contenedor de la aplicación).
El servicio B no tiene ninguna solicitud, por lo que está inactivo y Cloud Run no está ejecutando ninguna instancia.
El servicio C tiene solicitudes y se ha escalado para gestionar la carga creando varias instancias. En este caso, cada una de estas instancias ejecuta un conjunto de varios contenedores. En cada conjunto, solo el contenedor de entrada recibe la solicitud, pero los demás contenedores ayudan a completarla.
Revisiones de servicios de Cloud Run
Cada despliegue en un servicio crea una revisión. Una revisión consta de una o varias imágenes de contenedor, junto con ajustes de configuración como variables de entorno, límites de memoria o el valor de simultaneidad de solicitudes.
No puedes modificar una revisión después de crearla. Por ejemplo, cuando despliegas una imagen de contenedor en un servicio nuevo, Cloud Run crea la primera revisión. Si después despliegas otra imagen de contenedor en ese mismo servicio, Cloud Run creará una segunda revisión. Si posteriormente defines una variable de entorno, Cloud Run creará una tercera revisión. Con el tiempo, Cloud Run elimina las revisiones antiguas que no se utilizan.
Cloud Run dirige automáticamente las solicitudes lo antes posible a la revisión de servicio más reciente que esté en buen estado.
Instancias de servicio de Cloud Run
Cloud Run escala automáticamente cada revisión de servicio que recibe solicitudes al número de instancias necesarias para gestionar todas estas solicitudes. Ten en cuenta que las instancias pueden recibir muchas solicitudes al mismo tiempo. Con la configuración de simultaneidad de solicitudes, puede definir el número máximo de solicitudes que se pueden enviar en paralelo a cada instancia de una revisión.
Tareas de Cloud Run
Cada trabajo se encuentra en una Cloud de Confiance by S3NS región Cloud de Confiance by S3NS específica y consta de una o varias tareas que se ejecutan para completar uno o varios contenedores. Las tareas de un trabajo son independientes y se pueden ejecutar en paralelo en una ejecución de trabajo determinada.
Ejecuciones de tareas de Cloud Run
Cuando se ejecuta un trabajo, se crea una ejecución de trabajo en la que se inician todas las tareas del trabajo. Todas las tareas de una ejecución de un trabajo deben completarse correctamente para que la ejecución del trabajo se realice correctamente. Puedes definir tiempos de espera en las tareas y especificar el número de reintentos en caso de que se produzca un error.
Si alguna tarea supera el número máximo de reintentos, Cloud Run la marca como fallida y el trabajo también. De forma predeterminada, las tareas se ejecutan en paralelo hasta un máximo de 100, pero puedes especificar un máximo inferior si alguno de tus recursos de respaldo, como una base de datos, lo requiere.
Tareas de Cloud Run
Cada ejecución de un trabajo ejecuta varias tareas en paralelo, y cada tarea ejecuta una instancia. Cloud Run intenta automáticamente volver a ejecutar las tareas fallidas, en función de la configuración de maxRetries del trabajo.