Este guia compara as opções mais recentes e originais de Google Cloud para implantação de 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:
O Cloud Run functions é a versão mais recente das funções, implantadas como um serviço no Cloud Run. Eles podem ser criados de uma das seguintes maneiras:
- API Cloud Run Admin
(recomendado): as funções criadas com essa API (por exemplo, usando o
consoleGoogle Cloud ,
gcloud run
, a API REST ou o Terraform) podem ser gerenciadas exclusivamente usando a API Cloud Run Admin. - API Cloud Functions v2: as funções criadas com essa API (por exemplo, usando
gcloud functions
, a API REST ou o Terraform) podem ser gerenciadas com a API Cloud Run Admin e a API Cloud Functions v2. Ao usar essa API, você especifica o gatilho ao implantar a função. Saiba como desvincular uma função da API v2 para que ela possa ser gerenciada exclusivamente usando a API Cloud Run Admin.
- API Cloud Run Admin
(recomendado): as funções criadas com essa API (por exemplo, usando o
consoleGoogle Cloud ,
O 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, ambientes de execução e capacidade de configuração limitados. Saiba como fazer upgrade das funções da 1ª geração para o Cloud Run.
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 para funções.
Cloud Run functions | Cloud Run functions (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 do código-fonte. | Uma função é implantada do código-fonte |
Terminologia dos tipos de funções |
|
|
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 para funções:
Cloud Run functions | Cloud Run functions (1ª geração) | |
---|---|---|
Tempo limite da solicitação |
|
|
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 | Com suporte | 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 ID do ambiente de execução e 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 confiar na definição do serviço do Cloud Run como a fonte de verdade para 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 forma de criar, implantar, editar e gerenciar funções:
Cloud Run functions | Cloud Run functions (1ª geração) | |
---|---|---|
Console doGoogle Cloud | Cloud Run | Cloud Run functions (1ª geração) |
SDK Cloud |
|
|
API REST |
|
|
Terraform |
|
Gatilhos e novas tentativas
A tabela a seguir compara gatilhos e novas tentativas para funções:
Cloud Run functions | Cloud Run functions (1ª geração) | |
---|---|---|
Acionar e invocar uma função | Para funções criadas com a API Cloud Run Admin, você
especifica gatilhos como parte da implantação da função
no console 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 gatilhos como parte da implantação da função. |
Especifique gatilhos como parte da implantação da função. |
Tipos de evento | Suporte para qualquer tipo de evento compatível com o 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 um
tópico de mensagens inativas
no Pub/Sub. Para funções criadas com a API Cloud Functions v2, especifique as repetições como parte da implantação da função com a flag --retry .
|
Você especifica novas tentativas como parte da implantação da função com a flag
--retry . |
Desvincular a função
As funções criadas usando a API Cloud Functions v2 (por exemplo, usando gcloud functions
, a API REST ou o Terraform) podem ser separadas do ambiente de API atual. Depois de separar uma função, só é possível gerenciá-la usando a API Cloud Run Admin. Isso pode ser útil se as cargas de trabalho precisarem permanecer dentro do limite da API run.googleapis.com
para Assured Workloads ou para garantir que elas usem a SKU do Cloud Run.
Consulte Gerenciar funções para saber mais.
A seguir
- Consulte o guia de início rápido para implantar uma função do Cloud Run.