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 (2ª geração), é 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 |
|
|
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 |
|
|
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 |
|
|
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 Admin do Cloud Run, 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 o
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 . |
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 desconectar uma função, só é possível
gerenciar usando a API Cloud Run Admin. Talvez seja necessário fazer isso se as cargas de trabalho precisarem permanecer dentro do limite da API run.googleapis.com
para cargas de trabalho garantidas ou para garantir que as cargas de trabalho usem o SKU do Cloud Run. Consulte Gerenciar funções na documentação da API Cloud Functions v2 para saber mais.
A seguir
- Consulte o guia de início para implantar uma função no Cloud Run.