Compare as funções do Cloud Run

Este guia compara as opções mais recentes e originais Google Cloud para implementar funções. Esta página ajuda as pessoas que criaram anteriormente funções com a API Cloud Functions e estão a fazer 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, implementação e acionadores e novas tentativas.

Comparação

Existem duas versões das funções do Cloud Run:

  • As funções do Cloud Run são a versão mais recente das funções, implementadas como um serviço no Cloud Run. Podem ser criados de uma das seguintes formas:

    • Cloud Run Admin API (Recomendado): as funções criadas com esta API (por exemplo, através da Google Cloud consola, gcloud run, da API REST ou do Terraform) podem ser geridas exclusivamente através da Cloud Run Admin API.
    • API Cloud Functions v2: as funções criadas com esta API (por exemplo, através da gcloud functions, da API REST ou do Terraform) podem ser geridas com a API Cloud Run Admin, bem como com a API Cloud Functions v2. Quando usa esta API, especifica o acionador ao implementar a sua função. Saiba como desassociar uma função da API v2 para que possa ser gerida exclusivamente através da API Cloud Run Admin.
  • As funções do Cloud Run (1.ª geração), anteriormente conhecidas como Cloud Functions (1.ª geração), são a versão original das funções com acionadores de eventos, tempos de execução e capacidade de configuração limitados. Saiba mais.

Ao implementar funções diretamente no Cloud Run, as suas funções são criadas automaticamente como contentores e implementadas como um serviço do Cloud Run.

Conceitos

A tabela seguinte resume as diferenças conceptuais 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 (1.ª geração)
Modelo de recurso Uma função é um serviço do Cloud Run implementado a partir de código-fonte Uma função é implementada a partir do código-fonte
Terminologia dos tipos de funções
  • Funções HTTP
  • As funções CloudEvents, também denominadas funções orientadas por eventos, são suportadas em todos os runtimes de idiomas.
  • Funções HTTP
  • Apenas os runtimes Ruby, .NET e PHP suportam CloudEvents. Para Node.js, Go, Python e Java, crie funções orientadas por eventos com 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 ponto final cloudfunctions.net.
cloudfunctions.net
Registo de imagens Apenas Artifact Registry Artifact Registry ou Container Registry (descontinuado)
Funções de IAM para implementação
Infraestrutura interna Cloud Run 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 contentores e implementa-as como serviços. Quando implementa uma função no Cloud Run, tem acesso e controlo completos sobre o comportamento da função. Por exemplo, pode ativar o VPC direto, configurar GPUs, usar montagens de volumes e muito mais.

A tabela seguinte resume as diferenças de configuração para funções:

Funções do Cloud Run Funções do Cloud Run (1.ª geração)
Tempo limite de pedido
  • Até 60 minutos para funções acionadas por HTTP
  • Até 9 minutos para funções acionadas por eventos criadas com a API Cloud Functions v2
  • Até 9 minutos
Tamanho da instância Até 16 GiB de RAM com 4 vCPU Até 8 GB de RAM com 2 vCPU
Simultaneidade Até 1000 pedidos simultâneos por instância de função 1 pedido simultâneo por instância de função
Divisão de tráfego Suportado Não suportado

Implementação

Desde agosto de 2024, pode usar o Cloud Run para implementar e gerir funções criadas com a API Cloud Functions v2. Como resultado desta alteração:

  • Os metadados das funções, como o ID do tempo de execução e as configurações de compilação, são armazenados na definição do serviço do Cloud Run.
  • Pode editar a sua função em segurança através da API Cloud Run Admin.
  • Pode confiar na definição do serviço do Cloud Run como a fonte de verdade para a sua função.

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

A tabela seguinte resume as diferenças na forma como cria, implementa, edita e gere funções:

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

Acionadores e novas tentativas

A tabela seguinte compara os acionadores e as novas tentativas para funções:

Funções do Cloud Run Funções do Cloud Run (1.ª geração)
Acione e invoque uma função Para funções criadas com a API Cloud Run Admin, pode especificar acionadores como parte da implementação da função na Google Cloud consola ou após a implementação da função quando usar a CLI gcloud.

Para funções criadas com a API Cloud Functions v2, especifica acionadores como parte da implementação de funções.
Especifica acionadores como parte da implementação de funções.
Tipos de eventos Suporte para qualquer tipo de evento suportado pelo Eventarc, incluindo mais de 90 origens de eventos através dos registos de auditoria do Google Cloud. Apoio técnico direto para eventos de 7 origens.
Novas tentativas Para funções criadas com a API Cloud Run Admin, atualize a política de repetição no Eventarc e configure o tópico de mensagens não entregues no Pub/Sub.

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

Desassocie a sua função

As funções criadas com a API Cloud Functions v2 (por exemplo, através de gcloud functions, da API REST ou do Terraform) podem ser separadas do respetivo ambiente de API existente. Depois de desanexar uma função, só a pode gerir através da API Cloud Run Admin. Pode querer fazê-lo se as suas cargas de trabalho tiverem de permanecer dentro do limite da API para as Assured Workloads ou para garantir que as suas cargas de trabalho usam a SKU do Cloud Run.run.googleapis.com Consulte o artigo Faça a gestão das funções para saber mais.

O que se segue?