Modelo de recursos

En el siguiente diagrama, se muestra el modelo de recursos de Cloud Run para los servicios:

Servicios y revisiones de Cloud Run

En el diagrama, se muestra un proyecto de Google Cloud que contiene tres servicios de Cloud Run, Service A, Service B yService C y cada uno tiene varias revisiones.

En el diagrama, Service A recibe muchas solicitudes, lo que hace que se inicien y ejecuten varias instancias, cada una de las cuales ejecuta un solo contenedor. Ten en cuenta que Service B no recibe solicitudes por el momento, por lo que aún no se inició ninguna instancia. Service C ejecuta varios contenedores por instancia dentro de cada revisión: ten en cuenta que solo el contenedor de entrada recibe la solicitud. Cada instancia con múltiples contenedores escala como una unidad independiente.

Servicios de Cloud Run

El servicio es el recurso principal de Cloud Run. Cada servicio se ubica en una región específica de Google Cloud (Cloud Run). Para la redundancia y la conmutación por error, los servicios se replican de forma automática en varias zonas de la región en la que se encuentran. Un proyecto de Google Cloud determinado puede ejecutar muchos servicios en diferentes regiones.

Cada servicio expone un extremo único y ajusta de forma automática la escala de la infraestructura subyacente para controlar las solicitudes entrantes.

Revisiones de Cloud Run

Cada implementación en un servicio conlleva la creación de una revisión. Una revisión consta de una o más imágenes de contenedor, junto con la configuración del entorno, como las variables de entorno, los límites de memoria o el valor de simultaneidad.

Las revisiones son inmutables: una vez que se crean, no se pueden modificar. Por ejemplo, cuando implementas una imagen de contenedor en un servicio de Cloud Run nuevo, se crea la primera revisión. Si luego implementas una imagen de contenedor diferente en ese mismo servicio, se crea una segunda revisión. Si después configuras una variable de entorno, se crea una tercera revisión, y así sucesivamente.

Las solicitudes se enrutan de forma automática a la revisión del servicio en buen estado más reciente lo antes posible.

Trabajos de Cloud Run

Cada trabajo se ubica en una región específica de Google Cloud y ejecuta uno o más contenedores hasta su finalización. Un trabajo consiste en una o varias tareas independientes que se ejecutan en paralelo en una ejecución de trabajo determinada. Cada tarea ejecuta un contenedor y es posible que vuelva a intentarlo.

Ejecuciones de trabajo 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 trabajo deben completarse correctamente para que la ejecución del trabajo se realice correctamente. Puedes establecer tiempos de espera para las tareas y especificar la cantidad de reintentos en caso de falla de la tarea. Si alguna tarea excede la cantidad máxima de reintentos, esa tarea se marca como con errores y el trabajo se marca como con errores. 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 copia de seguridad lo requiere.

Instancias de Cloud Run

Cada revisión que recibe solicitudes se escala de forma automática a la cantidad de instancias necesarias para manejar todas estas solicitudes. Ten en cuenta que el contenedor de Ingress dentro de una instancia puede recibir muchas solicitudes al mismo tiempo. Con la configuración de simultaneidad, puedes establecer la cantidad máxima de solicitudes que se pueden enviar en paralelo a una instancia determinada.