Comparação de versões do Cloud Functions

Há duas versões de Cloud Functions for Firebase:

  • Cloud Functions (2ª geração), que implanta as funções como serviços no Cloud Run, para que você possa acioná-las usando Eventarc e Pub/Sub.
  • Cloud Functions (1ª geração), que consiste na versão original das funções, com gatilhos de eventos e capacidade de configuração limitados.

Recomendamos que você escolha o Cloud Functions (2ª geração) para novas funções sempre que possível. No entanto, pretendemos continuar a oferecer suporte ao Cloud Functions (1ª geração).

Nesta página, descrevemos os recursos introduzidos no Cloud Functions e oferecemos uma comparação entre as duas versões do produto.

Cloud Functions (2ª geração)

O Cloud Functions é a oferta de funções como serviço de última geração do Firebase. Criado com base no Cloud Run e no Eventarc, o Cloud Functions (2ª geração) oferece infraestrutura aprimorada e cobertura de eventos mais ampla para Cloud Functions, incluindo:

  • Criado com base no Cloud Run: as funções são criadas com Cloud Build e implantadas como serviços de Cloud Run. Assim, é possível personalizar a função da mesma forma que um serviço de Cloud Run. Consulte a documentação do Cloud Run para conferir as opções de configuração do serviço, como limites de memória, variáveis de ambiente e assim por diante.
  • Tempos de processamento de solicitação mais longos: execute cargas de trabalho com solicitações mais longas, como o processamento de grandes fluxos de dados do Cloud Storage ou do BigQuery.
  • Tamanhos de instância maiores: execute cargas de trabalho maiores na memória, com uso intenso de computação e paralelas.
  • Melhor simultaneidade: gerencie várias solicitações simultâneas com uma única instância de função para minimizar inicializações a frio e melhorar a latência.
  • Gerenciamento de tráfego: divida o tráfego entre diferentes revisões de função ou reverta uma função para uma versão anterior.
  • Integração do Eventarc: suporte nativo para gatilhos do Eventarc, oferecendo todas as mais de 90 origens de eventos compatíveis com o Eventarc no Cloud Functions.
  • Suporte mais amplo ao CloudEvents: suporte ao CloudEvents padrão do setor em todos os ambientes de execução da linguagem, proporcionando uma experiência consistente ao desenvolvedor.

Consulte a tabela de comparação para mais detalhes.

Como o Cloud Functions implanta funções como serviços no Cloud Run, o Cloud Functions compartilha cotas e limites de recursos com o Cloud Run. Consulte Cotas.

Tabela de comparação

Recurso Cloud Functions (1ª geração) Cloud Functions
Registro de imagens Container Registry ou Artifact Registry Apenas Artifact Registry
Tempo limite da solicitação Até 9 minutos
  • Até 60 minutos para funções acionadas por HTTP
  • Até 9 minutos para funções acionadas por eventos
Tamanho da instância Até 8 GB de RAM com 2 vCPUs Até 16 GiB de RAM com 4 vCPUs
Simultaneidade 1 solicitação simultânea por instância de função Até 1.000 solicitações simultâneas por instância de função.

Preços

Para informações sobre preços, consulte Planos de preços do Firebase.

Se você usa o Cloud Functions, pode conferir os custos associados apenas ao Cloud Functions da seguinte maneira:

  1. Acesse a página Relatórios do Cloud Billing no console do Google Cloud.
  2. Se solicitado, selecione a conta de faturamento associada ao seu projeto do Google Cloud.
  3. No painel Filtros, em Rótulos, adicione um filtro de rótulo com a chave goog-managed-by e o valor cloudfunctions.

Limitações

O Cloud Functions for Firebase (2ª geração) não oferece suporte a eventos de Analytics.

Embora o Cloud Functions for Firebase (2ª geração) ofereça suporte a eventos de bloqueio de autenticação, ele não oferece suporte ao mesmo conjunto de eventos básicos de Authentication na 1ª geração.

No entanto, como as funções da 1ª e da 2ª geração podem coexistir lado a lado no mesmo arquivo de origem, ainda é possível desenvolver e implantar gatilhos do Analytics e gatilhos básicos do Authentication na 1ª geração com as funções da 2ª geração.