Opciones de Deployment y modelo de recursos

En esta guía, se describe cómo Cloud Run controla las implementaciones, divididas en tres áreas:

  • Tipos de implementación: Qué traes a Cloud Run, como código fuente o imágenes de contenedor
  • Recursos de Cloud Run: Qué se ejecuta en tu implementación dentro de Cloud Run (servicio, trabajo, grupo de trabajadores o instancia).
  • Métodos de implementación: Cómo ejecutas la implementación, por ejemplo, con la Cloud de Confiance consola, gcloud CLI, YAML o Terraform.

Tipos de Deployment

Cloud Run ofrece varias opciones de implementación. Después de la implementación, todas las implementaciones, ejecuciones o creaciones se ejecutan como instancias de contenedor en zona de pruebas en la infraestructura completamente administrada y altamente escalable de Cloud Run. En la siguiente tabla, se muestran las opciones de implementación compatibles para cada tipo de recurso:

Opción de Deployment Servicios Trabajos
Imágenes de contenedor implementables Admitido Admitido
Implementa desde el código fuente Admitido Admitido
Implementa funciones1 Admitido —

Implementar imágenes de contenedor

Puedes implementar cualquier imagen de contenedor que cumpla con el contrato de tiempo de ejecución de contenedores de Cloud Run en unservicio o trabajo

Recursos de Cloud Run

En las siguientes secciones, se describen los recursos de Cloud Run con más detalle.

Comparación de recursos de Cloud Run

Función Servicios Trabajos
Caso de uso principal Controlado por solicitudes (sitios web, APIs y microservicios) Orientado a tareas (secuencias de comandos, procesamiento de datos, migraciones)
Activador Solicitudes HTTP/gRPC, Eventarc Modos de ejecución: estándar (inmediato) y retrasado.

Activadores: Ejecución manual, con Scheduler y con Workflows
Escalamiento Automático/Manual: Se ajusta a cero o según las solicitudes Automático: Se ajusta a N tareas independientes que se ejecutan de forma secuencial o en paralelo.
Lifecycle Es efímera y se reduce verticalmente cuando está inactiva. Se ejecuta hasta completarse en un plazo de 7 días (de corta duración)
Dirección URL del servicio estable (con balanceo de cargas) No hay extremo público.

URL interna para activadores (p.ej., el programador)
Tráfico entrante HTTP/gRPC público/interno Ninguno
Facturación Basada en solicitudes o en instancias Duración por ejecución

Servicios de Cloud Run

Un servicio es el tipo de recurso principal en Cloud Run, que representa una carga de trabajo controlada por solicitudes que escala automáticamente las instancias de contenedores para controlar el tráfico web, las solicitudes HTTP o los eventos entrantes. Cada servicio se ubica en una región específica deCloud de Confiance by S3NS . Para proporcionar redundancia y conmutación por error, Cloud Run replica automáticamente los servicios en varias zonas dentro de una región. UnCloud de Confiance proyecto determinado puede ejecutar muchos servicios en diferentes regiones.

Cada servicio expone un extremo único. De forma predeterminada, Cloud Run se escala automáticamente para controlar las solicitudes entrantes. Si es necesario, puedes cambiar el comportamiento de ajuste de escala a manual. Puedes implementar 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:

Servicios y revisiones de Cloud Run

En el diagrama, se muestra un proyecto Cloud de Confiance 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 recibe varias solicitudes, por lo que Cloud Run inició varias instancias para controlar la carga. Cada una de estas instancias ejecuta solo un contenedor (el contenedor de la aplicación).
  • El servicio B no tiene solicitudes, por lo que está inactivo y Cloud Run no ejecuta ninguna instancia.
  • El servicio C tiene solicitudes y se escaló para controlar 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 satisfacerla.

Revisiones del servicio 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 parámetros de configuración, como variables de entorno, límites de memoria o valor de simultaneidad de solicitudes.

No puedes modificar una revisión después de crearla. Por ejemplo, cuando implementas una imagen de contenedor en un servicio nuevo, Cloud Run crea la primera revisión. Si luego implementas una imagen de contenedor diferente en ese mismo servicio, Cloud Run crea una segunda revisión. Si posteriormente configuras una variable de entorno, Cloud Run crea una tercera revisión. Con el tiempo, Cloud Run quita las revisiones que no se usan.

Cloud Run enruta automáticamente las solicitudes lo antes posible a la revisión del servicio en buen estado más reciente.

Instancias de servicio de Cloud Run

Cloud Run ajusta automáticamente la escala de cada revisión del servicio que recibe solicitudes a la cantidad de instancias necesarias para controlar todas estas solicitudes. Ten en cuenta que las instancias pueden recibir muchas solicitudes al mismo tiempo. Con el parámetro de configuración de simultaneidad de solicitudes, puedes establecer la cantidad máxima de solicitudes que se pueden enviar en paralelo a cada instancia de una revisión.

Trabajos de Cloud Run

Cada trabajo se ubica en una región Cloud de Confianceespecífica y consta de una o más tareas que ejecutan uno o más contenedores hasta su finalización. Las tareas de trabajo son independientes y se pueden ejecutar en paralelo en una ejecución de trabajo determinada.

Ejecuciones de trabajo de Cloud Run

Cuando ejecutas un trabajo, Cloud Run crea una ejecución de trabajo y comienza todas las tareas relacionadas. 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 en 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, Cloud Run la marca como con errores y el trabajo 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, como una base de datos, lo requiere.

Tareas de trabajos de Cloud Run

Cada ejecución de trabajo ejecuta varias tareas en paralelo, y cada tarea ejecuta una instancia. Cloud Run intenta automáticamente volver a ejecutar las tareas con errores, según la configuración del trabajo para maxRetries.