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.
- Cloud Run Admin API
(Recomendado): as funções criadas com esta API (por exemplo, através da
Google Cloud consola,
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 |
|
|
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 |
|
|
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 |
|
|
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?
- Experimente o guia de introdução para implementar uma função do Cloud Run.