Visão geral das funções do Cloud Run

Este guia fornece uma visão geral introdutória de como outros serviços Google Cloud estão envolvidos no processo de implantação de funções do Cloud Run.

Antes de começar

Conheça os conceitos de funções e implantação de origem do Cloud Run no guia Modelo de recursos e opções de implantação do Cloud Run.

Informações gerais da arquitetura

Quando você implanta o código-fonte da função no Cloud Run, ele é armazenado em um bucket do Cloud Storage. Em seguida, o Cloud Build cria automaticamente seu código em uma imagem de contêiner e a envia para um registro de imagens do Artifact Registry. As funções do Cloud Run acessam essa imagem quando precisam gerar o contêiner para executar a função.

No diagrama a seguir, a caixa "Funções do Cloud Run" representa uma função implantada no Cloud Run usando a API Cloud Run Admin ou a API Cloud Functions. Normalmente, as funções mais recentes são implantadas usando a API Cloud Run Admin, e as mais antigas são implantadas usando a API Cloud Functions.

Chame a API Cloud Run Admin no console do Google Cloud.
Figura 1. Um usuário prepara o código-fonte das funções e o implanta no Cloud Run.

Dependendo da API usada ao implantar uma função, o seguinte ocorre:

  • Se você implantou sua função usando a API Cloud Run Admin, o seguinte ocorre:

    1. O código-fonte é enviado para um bucket do Cloud Storage que não tem período de retenção.

      1. Se você estiver usando a criptografia padrão, o nome do bucket será gerado automaticamente e chamado de run-sources-PROJECT_ID-REGION.
      2. Se você estiver protegendo seus dados com chaves de criptografia gerenciadas pelo cliente (CMEK), o nome do bucket não será gerado automaticamente, e você precisará fornecer um nome de bucket.
    2. O código-fonte é enviado ao Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contêiner. A conta de serviço do Cloud Build cria a imagem do contêiner.

    3. A imagem do contêiner é enviada para o Artifact Registry usando um bucket criado automaticamente chamado REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.

    4. A imagem é implantada no Cloud Run como um serviço.

    5. É possível acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros gatilhos HTTP.

  • Se você tiver implantado sua função usando a API Cloud Functions v2, o seguinte vai ocorrer:

    1. O código-fonte é enviado para um bucket do Cloud Storage que não tem período de retenção.

      O nome do bucket é gerado automaticamente e segue este formato:

      1. Se você estiver usando a criptografia padrão, esse bucket será chamado de gcf-v2-sources-PROJECT_NUMBER-REGION.
      2. Se você estiver protegendo seus dados com CMEK, o bucket será chamado de gcf-sources-PROJECT_NUMBER-REGION-CMEK_KEY_HASH.
    2. O código-fonte é enviado ao Cloud Build, onde os buildpacks do Google Cloud e o Functions Framework criam uma imagem de contêiner. A conta de serviço do Cloud Build cria a imagem do contêiner.

    3. A imagem do contêiner é enviada para o Artifact Registry usando um bucket criado automaticamente chamado REGION-docker.pkg.dev/PROJECT_ID/gcf-artifacts.

    4. A imagem é implantada no Cloud Run como um serviço.

    5. É possível acionar ou invocar a função com o Eventarc, o Pub/Sub ou outros gatilhos HTTP.

A seguir