Funções de nuvem para Firebase

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

Já usa Cloud Functions no Google Cloud? Saiba mais sobre como o Firebase se encaixa nesse cenário.

Primeiros passos Casos de uso

Principais capacidades

Integra recursos do Firebase e conecta o Firebase ao Google Cloud

As funções que você escreve podem responder a eventos gerados por vários recursos do Firebase e do Google Cloud, desde gatilhos do Firebase Authentication até gatilhos do Cloud Storage .

Integre-se aos recursos do Firebase usando o Admin SDK junto com o Cloud Functions e integre-se a serviços de terceiros escrevendo seus próprios webhooks. O Cloud Functions minimiza o código padrão, facilitando o uso do Firebase e do Google Cloud dentro da sua função.
Manutenção zero Implante seu código JavaScript, TypeScript ou Python em nossos servidores com um comando da linha de comando. Depois disso, o Firebase aumenta automaticamente os recursos de computação para corresponder aos padrões de uso dos seus usuários. Você nunca se preocupa com credenciais, configuração de servidores, provisionamento de novos servidores ou descomissionamento de servidores antigos.
Mantém sua lógica privada e segura 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 não é desejável permitir que esse código passe por engenharia reversa. O Cloud Functions é totalmente isolado do cliente, então você pode ter certeza de que ele é privado e sempre faz exatamente o que você deseja.

Como funciona?

Depois que você escreve e implanta uma função, os servidores do Google começam a gerenciar a função imediatamente. Você pode disparar a função diretamente com uma solicitação HTTP, o SDK Admin ou um trabalho agendado ou, no caso de funções em segundo plano, os servidores do Google escutam eventos e executam a função quando ela é acionada.

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

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

  1. Você escreve o código para uma nova função, selecionando um provedor de eventos (como Cloud Firestore) e definindo as condições sob as quais a função deve ser executada.
  2. Ao implantar sua função:
    1. A CLI do Firebase cria um arquivo .zip do código da função, que é então 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 seu projeto.
    2. O Cloud Build recupera o código da função e cria a origem da função. Você pode visualizar os registros do Cloud Build no console do Google Cloud .
    3. A imagem do contêiner para o código de funções criado é carregada em um repositório privado do Artifact Registry em seu projeto (chamado gcf-artifacts ) e sua nova função é implementada.
  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 lidando com muitos eventos, o Google criará mais instâncias para lidar com o trabalho com mais rapidez. Se a função estiver ociosa, as instâncias serão limpas.
  5. Quando você atualiza a função implementando código atualizado, as instâncias de versões mais antigas são limpas junto com os artefatos de construção 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, juntamente com os artefatos de construção relacionados no Artifact Registry. A conexão entre a função e o provedor de eventos é removida.

Além de escutar eventos com uma função em segundo plano, você pode chamar funções diretamente com uma solicitação HTTP ou uma chamada do cliente . Você também pode acionar funções em uma programação fixa ou enfileirar funções de tarefas por meio do Admin SDK.

Caminho de implementação

Configurar funções do Cloud Instale a CLI do Firebase e inicialize o Cloud Functions no seu projeto do Firebase.
Escrever funções Escreva código JavaScript, código TypeScript ou código Python para lidar com eventos de serviços do Firebase, serviços do Google Cloud ou outros provedores de eventos.
Funções de teste Use o emulador local para testar suas funções.
Implantar e monitorar Ative o faturamento para seu projeto e implante suas funções usando a CLI do Firebase. Você pode usar o Console do Google Cloud para visualizar e pesquisar seus registros.

Próximos passos