Cloud Functions para Firebase

O Cloud Functions para Firebase é um framework sem servidor que permite executar automaticamente códigos de back-end em resposta a eventos acionados por eventos em segundo plano, solicitações HTTPS, o Admin SDK ou jobs do Cloud Scheduler. Seu código em JavaScript, TypeScript ou Python é armazenado na infraestrutura do Google Cloud e executado em um ambiente gerenciado. Não é necessário gerenciar e escalonar servidores próprios.

Você já usa o Cloud Functions no Google Cloud? Saiba mais sobre o papel do Firebase nesse contexto.

Introdução Casos de uso

Principais recursos

Integra os recursos do Firebase e conecta o Firebase ao Google Cloud

As funções criadas podem responder a eventos gerados por vários recursos do Firebase e do Google Cloud, de gatilhos do Firebase Authentication a gatilhos do Cloud Storage.

Faça a integração em todos os recursos do Firebase com o SDK Admin junto ao Cloud Functions. Além disso, grave seus próprios webhooks para fazer a integração com serviços de terceiros. O Cloud Functions minimiza o código boilerplate, facilitando o uso do Firebase e do Google Cloud na sua função.
Manutenção zero Implante seu código em JavaScript, TypeScript ou Python nos nossos servidores com apenas um comando na linha de comando. Em seguida, o Firebase escalona automaticamente os recursos computacionais para corresponder aos padrões de uso dos seus usuários. Você não precisa se preocupar com credenciais, configuração e provisionamento de novos servidores ou desativação dos antigos.
Mantém a privacidade e a segurança do seu código Em muitos casos, os desenvolvedores preferem controlar a lógica do aplicativo no servidor para evitar adulterações no lado do cliente. Além disso, às vezes, eles querem evitar a engenharia reversa desse código. O Cloud Functions é totalmente isolado do cliente. Assim, é possível ter a certeza de que o código permanecerá particular e sempre fará exatamente o que você quer.

Como funciona?

Depois que você escreve e implanta uma função, os servidores do Google começam a gerenciá-la imediatamente. Você pode acionar a função diretamente com uma solicitação HTTP, com o Admin SDK ou com um job programado. No caso de funções em segundo plano, os servidores do Google detectam eventos e executam a função quando ela é acionada.

À medida que a carga aumenta ou diminui, o Google responde escalonando rapidamente o número de instâncias de servidor virtual necessárias para executar sua função. Cada função é executada isoladamente, no próprio ambiente e com a própria configuração.

Ciclo de vida de uma função de segundo plano

  1. Você escreve o código para uma nova função, seleciona um provedor de eventos, como o Cloud Firestore, e define as condições sob as quais ela precisa ser executada.
  2. Quando você implanta a função:
    1. A CLI do Firebase cria um arquivo .zip com base no código da função, que é enviado para um bucket do Cloud Storage (prefixado com gcf-sources) antes que o Cloud Functions crie um repositório do Artifact Registry (chamado gcf-artifacts) no projeto.
    2. O Cloud Build recupera o código da função e cria a fonte dela. É possível conferir os registros do Cloud Build no console do Google Cloud.
    3. A imagem de contêiner do código de funções criado é enviada para um repositório particular do Artifact Registry no projeto (chamado gcf-artifacts), e a nova função é lançada.
  3. Quando o provedor de eventos gera um evento que corresponde às condições da função, o código é invocado.
  4. Se a função estiver ocupada com muitos eventos, o Google criará mais instâncias para executar o trabalho com mais rapidez. Caso a função esteja ociosa, as instâncias serão limpas.
  5. Ao atualizar a função implantando o código atualizado, as instâncias de versões mais antigas são limpas, além dos artefatos de builds, no Artifact Registry e substituídas por novas instâncias.
  6. Ao excluir a função, todas as instâncias e arquivos ZIP são limpos, além dos artefatos de builds relacionados, no Artifact Registry. A conexão entre a função e o provedor de eventos é removida.

Além de detectar eventos com uma função de segundo plano, você pode chamá-las diretamente com uma solicitação HTTP ou uma chamada do cliente. Também é possível acionar funções em uma programação fixa ou enfileirar funções de tarefas usando o Admin SDK.

Caminho de implementação

Configurar Cloud Functions Instale a CLI do Firebase e inicialize o Cloud Functions no projeto do Firebase.
Escrever funções Escreva códigos em JavaScript, TypeScript ou Python para processar eventos de serviços do Firebase, do Google Cloud ou de outros provedores de eventos.
Testar funções Use o emulador local para testar suas funções.
Implantar e monitorar Ative o faturamento do projeto e implante as funções usando a CLI do Firebase. Use o console do Google Cloud para conferir e pesquisar registros.

Próximas etapas