Información general sobre Cloud Run Functions

En esta guía se ofrece una introducción sobre cómo participan otros Google Cloud servicios en el proceso de despliegue de funciones de Cloud Run.

Antes de empezar

Familiarízate con los conceptos de las funciones de Cloud Run y la implementación de código fuente con la guía Opciones de implementación y modelo de recursos de Cloud Run.

Información general sobre la arquitectura

Cuando despliegas el código fuente de tu función en Cloud Run functions, se almacena en un segmento de Cloud Storage. A continuación, Cloud Build compila automáticamente el código en una imagen de contenedor y la envía a un registro de imágenes de Artifact Registry. Cloud Run Functions accede a esta imagen cuando necesita ejecutar el contenedor para ejecutar tu función.

En el siguiente diagrama, el cuadro de funciones de Cloud Run representa una función desplegada en Cloud Run, ya sea mediante la API Cloud Run Admin o la API Cloud Functions. Normalmente, las funciones más recientes se despliegan con la API Cloud Run Admin, mientras que las más antiguas se despliegan con la API Cloud Functions.

Llama a la API Admin de Cloud Run desde la consola Google Cloud .
Imagen 1. Un usuario prepara el código fuente de las funciones y lo despliega en Cloud Run.

En función de la API que se utilice al implementar una función, ocurrirá lo siguiente:

  • Si has implementado tu función con la API Admin de Cloud Run, ocurrirá lo siguiente:

    1. El código fuente se sube a un segmento de Cloud Storage que no tiene ningún periodo de conservación.

      1. Si usas el cifrado predeterminado, el nombre del contenedor se genera automáticamente y se denomina run-sources-PROJECT_ID-REGION.
      2. Si proteges tus datos con claves de cifrado gestionadas por el cliente (CMEK), el nombre del segmento no se genera automáticamente y debes proporcionarlo.
    2. El código fuente se envía a Cloud Build, donde los buildpacks de Google Cloud y Functions Framework crean una imagen de contenedor. Ten en cuenta que la cuenta de servicio de Cloud Build compila la imagen del contenedor. De forma predeterminada, Cloud Run usa el tipo de máquina e2-standard-2 que proporciona Cloud Build.

    3. A continuación, la imagen de contenedor se sube a Artifact Registry a través de un segmento creado automáticamente llamado REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.

    4. La imagen se despliega en Cloud Run como un servicio.

    5. Puedes activar o invocar la función con Eventarc, Pub/Sub u otros activadores HTTP.

  • Si has implementado tu función con la API Cloud Functions (v2), ocurrirá lo siguiente:

    1. El código fuente se sube a un segmento de Cloud Storage que no tiene ningún periodo de conservación.

      El nombre del segmento se genera automáticamente y sigue este formato:

      1. Si usas el cifrado predeterminado, este segmento se llama gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Si proteges tus datos con CMEK, el nombre del contenedor será gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. El código fuente se envía a Cloud Build, donde los buildpacks de Google Cloud y Functions Framework crean una imagen de contenedor. Ten en cuenta que la cuenta de servicio de Cloud Build compila la imagen del contenedor. De forma predeterminada, Cloud Run usa el tipo de máquina e2-standard-2 que proporciona Cloud Build.

    3. A continuación, la imagen de contenedor se sube a Artifact Registry a través de un segmento creado automáticamente llamado REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts.

    4. La imagen se despliega en Cloud Run como un servicio.

    5. Puedes activar o invocar la función con Eventarc, Pub/Sub u otros activadores HTTP.

Siguientes pasos