Cloud Run


Cloud Run es una plataforma serverless gestionada Google Cloud que permite ejecutar aplicaciones contenedorizadas de forma rápida y escalable

Cloud Run
oscar Escrito por oscar 30 May 2025 2 0

Cloud Run es una plataforma serverless (sin servidor) totalmente gestionada de Google Cloud que permite ejecutar aplicaciones contenedorizadas de forma rápida y escalable, sin necesidad de gestionar infraestructura. Escala automáticamente los contenedores desde cero hasta cientos de instancias según la demanda, cobrando solo por el tiempo de ejecución.

Definición de Cloud Run

Cloud Run es un servicio serverless de Google Cloud Platform (GCP) que permite ejecutar aplicaciones contenedorizadas (basadas en contenedores Docker) sin necesidad de gestionar servidores o infraestructura.

Cloud Run escala automáticamente tus servicios en función del tráfico, incluso hasta cero si no hay solicitudes, y cobra solo por el tiempo que se están ejecutando.

Características clave

Definiciones clave para entender Cloud Run

✅ Serverless: Es un modelo de computación en la nube donde el proveedor (como GCP) se encarga completamente de la infraestructura: aprovisionamiento, escalado y mantenimiento de servidores.

En Cloud Run, serverless significa que tú solo subes tu aplicación y Google se encarga del resto, escalando automáticamente según el tráfico y cobrando solo por el tiempo real de uso.

🧩 Proyecto (Project): Es la unidad organizativa principal en GCP.

Todo lo que haces en Cloud Run (crear servicios, almacenar imágenes, acceder a recursos) se hace dentro de un proyecto. Cada proyecto tiene un ID único y su propia configuración de facturación, APIs habilitadas y permisos.

🌎 Región: Es la ubicación geográfica en la que se ejecutarán tus servicios en la nube. En Cloud Run, elegir una región determina dónde se alojará físicamente tu aplicación. Esto puede afectar la latencia, la disponibilidad y el cumplimiento normativo.

🔧 Servicio (Service): Es una aplicación desplegada en Cloud Run.

Cada vez que subes una imagen de contenedor, se crea un servicio con una URL pública (o privada), configuraciones de entorno, escalado y autenticación. Puedes tener múltiples versiones del mismo servicio y dividir el tráfico entre ellas.

📦 Contenedor (Docker Container):Es una unidad ligera, portátil y autosuficiente que incluye todo lo necesario para ejecutar una aplicación: código, dependencias, librerías, etc.

En Cloud Run, las aplicaciones deben estar empaquetadas como contenedores compatibles con Docker. Esto permite ejecutar cualquier tipo de aplicación sin importar el lenguaje o tecnología usada.

🖼️ Imagen (Container Registry / Artifact Registry): Una imagen es el archivo que contiene el contenedor listo para ejecutarse.

En GCP, puedes almacenar estas imágenes en servicios como:

Cloud Run extrae estas imágenes para desplegarlas como servicios.

🌐 Endpoint público / Autenticación: El endpoint es la URL que expone tu servicio Cloud Run al mundo.

Puedes configurar ese acceso de dos formas:

Esto te permite proteger servicios internos o APIs sensibles.

Habilitar Cloud Run en GCP

Para habilitar cloud run seguiremos la documentación oficial, pero a continuación, vamos a explicar el paso a paso:

Requisitos previos

Inicia sesión en GCP

Consulta en la documentación oficial como realizar el inicio de sesión

Habilita la API de Cloud Run

  1. En el buscador superior escribe: Cloud Run.
  2. Haz clic en Cloud Run en los resultados.
  3. Si nunca lo has usado en ese proyecto, verás un botón que dice:
    • "Habilitar API" o "Enable"
  4. Haz clic en ese botón para habilitar el servicio.

Selecciona región por defecto

Configura permisos

Permisos básicos para usar Cloud Run

👤 Rol recomendado:

Este rol permite:

Permisos adicionales necesarios para despliegue completo

Si el usuario también va a desplegar servicios, necesitas agregar roles adicionales según lo que use:

Necesidad Rol necesario ID del rol
Usar Cloud Build para construir imágenes Cloud Build Editor roles/cloudbuild.builds.editor
Acceder a Artifact Registry o Container Registry Artifact Registry Reader o Storage Object Viewer roles/artifactregistry.reader o roles/storage.objectViewer
Invocar servicios de Cloud Run Cloud Run Invoker roles/run.invoker
Usar variables de entorno o secretos de Secret Manager Secret Manager Secret Accessor roles/secretmanager.secretAccessor
Crear y administrar logs Logs Writer roles/logging.logWriter

Configuración mínima para usuarios que solo deben invocar servicios

Si el usuario solo debe consumir servicios de Cloud Run (por ejemplo, llamar a una API):

¿Cómo asignar estos roles?

Desde la consola de GCP:

  1. Ve a IAM y administración > IAM.
  2. Busca el usuario (correo electrónico).
  3. Haz clic en el ícono de lápiz.
  4. En “Asignar roles”, selecciona los que correspondan (puedes buscar por nombre o ID del rol).
  5. Guarda los cambios.

Ejemplo práctico

Para un desarrollador que va a:

Asigna estos roles:

Nota de seguridad

Evita usar roles/editor o roles/owner salvo que sea estrictamente necesario, ya que dan acceso excesivo a todos los servicios del proyecto.

Ejemplo

En el siguiente enlace encintará un ejemplo realizado con Java y Docker en donde desplegamos una Cloud Run

 


Comentario

Debe aceptar antes de enviar