Comparar funções do Cloud Run

Este guia compara as opções Google Cloud mais recentes e originais para implantar funções. Esta página ajuda quem criou funções com a API Cloud Functions e está fazendo a transição para a API Cloud Run Admin. Esta página descreve as principais diferenças em várias áreas, como conceitos, configuração, implantação, acionadores e novas tentativas.

Comparação

Há duas versões do Cloud Run functions:

  • Funções do Cloud Run, anteriormente conhecido como Cloud Functions (2nd gen), é a versão mais recente de funções que podem ser implantadas como um serviço no Cloud Run. A função pode reagir a solicitações HTTP(S) ou responder a eventos propagados por gatilhos baseados no Eventarc, como o Pub/Sub.

  • Cloud Run functions (1ª geração), anteriormente conhecido como Cloud Functions (1ª geração), é a versão original das funções com gatilhos de eventos e capacidade de configuração limitados.

Recomendamos usar a versão atual das funções do Cloud Run porque ela oferece mais flexibilidade e controle sobre o ambiente de execução da função. Ao implantar funções diretamente no Cloud Run, elas são criadas automaticamente como contêineres e implantadas como um serviço do Cloud Run.

Conceitos

A tabela a seguir resume as diferenças conceituais das funções.

Funções do Cloud Run Funções do Cloud Run (1ª geração)
Nome anterior do produto Cloud Functions (2ª geração) Cloud Functions (1a geração)
Modelo de recurso Uma função é um serviço do Cloud Run implantado a partir do código-fonte Uma função é implantada a partir do código-fonte
Tipos de terminologia de funções
  • Funções HTTP
  • As funções do CloudEvents, também chamadas de funções orientadas a eventos, são compatíveis com todos os ambientes de execução da linguagem.
  • Funções HTTP
  • Somente os ambientes de execução Ruby, .NET e PHP são compatíveis com o CloudEvents. Para Node.js, Go, Python e Java, crie funções orientadas a eventos usando funções em segundo plano.
URL HTTPS atribuído run.app

As funções criadas com a API Cloud Functions (v2) também têm um endpoint cloudfunctions.net.
cloudfunctions.net
Registro de imagens Apenas o Artifact Registry Artifact Registry ou Container Registry (descontinuado)
Papéis do IAM para implantação
Infraestrutura interna Cloud Run Uso interno do Google
Modelo de preços Preços do Cloud Run Preços das funções do Cloud Run (1ª geração)

Configuração

O Cloud Run cria funções em contêineres e as implanta como serviços. Ao implantar uma função no Cloud Run, você tem acesso e controle total sobre o comportamento dela. Por exemplo, é possível ativar a VPC direta, configurar GPUs, usar montagens de volume e muito mais.

A tabela a seguir resume as diferenças de configuração das funções:

Funções do Cloud Run Funções do Cloud Run (1ª geração)
Tempo limite da solicitação
  • Até 60 minutos para funções acionadas por HTTP
  • Até 9 minutos para funções do CloudEvents criadas com a API Cloud Functions v2
  • Até 9 minutos
Tamanho da instância Até 16 GiB de RAM com 4 vCPUs Até 8 GB de RAM com 2 vCPUs
Simultaneidade Até 1.000 solicitações simultâneas por instância de função. 1 solicitação simultânea por instância de função
Divisão de tráfego Compatível Sem suporte

Implantação

Desde agosto de 2024, é possível usar o Cloud Run para implantar e gerenciar funções criadas com a API Cloud Functions v2. Como resultado dessa mudança:

  • Os metadados da função, como o ID de execução e as configurações de build, são armazenados na definição do serviço do Cloud Run.
  • É possível editar sua função com segurança usando a API Cloud Run Admin.
  • Você pode usar a definição do serviço do Cloud Run como a fonte de verdade da sua função.

No entanto, as funções criadas com a API Cloud Run Admin não podem ser modificadas com a API Cloud Functions.

A tabela a seguir resume as diferenças na criação, implantação, edição e gerenciamento de funções:

Funções do Cloud Run Funções do Cloud Run (1ª geração)
Console do Google Cloud Cloud Run Funções do Cloud Run (1ª geração)
SDK do Cloud
API REST
  • run.googleapis.com (v1 e v2) para funções criadas com a API Cloud Run Admin ou a API Cloud Functions.
Terraform

Acionadores e novas tentativas

A tabela a seguir compara os gatilhos e as novas tentativas de funções:

Funções do Cloud Run Funções do Cloud Run (1ª geração)
Acionar e invocar uma função Para funções criadas com a API Cloud Run Admin, especifique os gatilhos como parte da implantação da função no console do Google Cloud ou depois de implantar a função ao usar a CLI gcloud.

Para funções criadas com a API Cloud Functions (v2), especifique os gatilhos como parte da implantação da função.
Especifique os gatilhos como parte da implantação da função.
Tipos de evento Suporte para qualquer tipo de evento aceito pelo Eventarc, incluindo mais de 90 origens de eventos pelos Registros de auditoria do Cloud. Suporte direto para eventos de sete fontes.
Novas tentativas Para funções criadas com a API Cloud Run Admin, atualize a política de nova tentativa no Eventarc e configure tópico de mensagens inativas no Pub/Sub.

Para funções criadas com a API Cloud Functions v2, especifique novas tentativas como parte da implantação da função com a flag --retry.
Especifique as novas tentativas como parte da implantação da função com a flag --retry.

A seguir