Cloud Functions para Firebase

O Cloud Functions para Firebase é um framework sem servidor que permite executar automaticamente o código de back-end em resposta a eventos acionados por recursos do Firebase e solicitações HTTPS. Seu código JavaScript ou TypeScript é armazenado na nuvem do Google 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.

Comece agora Casos de uso

Principais recursos

Integra a plataforma do Firebase

As funções que você escreve 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 dentro da sua função.
Manutenção zero Implante seu código JavaScript ou TypeScript nos nossos servidores com apenas um 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 certeza de que seu código é particular e de que 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 disparar a função diretamente com uma solicitação HTTP ou, no caso de funções de segundo plano, os servidores do Google detectarão eventos e executarão a função quando ela for 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 do código de função, que, em seguida, é enviado para um bucket do Cloud Storage (prefixado com gcf-sources) antes do Cloud Functions criar um repositório do Artifact Registry (chamado gcf-artifacts) no seu projeto.
    2. O Cloud Build recupera o código da função e cria a fonte dela. É possível ver 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 com 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, junto aos 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.

Caminho de implementação

Configurar o Cloud Functions Instale a CLI do Firebase e inicialize o Cloud Functions no seu projeto do Firebase.
Escrever funções Escreva o código JavaScript (ou TypeScript para transpilar na implantação) para lidar com 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 ver e pesquisar seus registros.

Próximas etapas