Qual é a diferença entre Cloud Functions e Firebase Functions?


89

Cloud Functions e Firebase Functions (ou "Cloud Functions para Firebase") têm a mesma aparência. Descreva o caso de uso de cada um.

Ambos usam funções HTTP.

No Cloud Functions :

exports.helloHttp = function helloHttp (req, res) {
  res.send(`Hello ${req.body.name || 'World'}!`);
};

E nas funções do Firebase :

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

Qual é a diferença entre eles?


1
O termo para Firebase é, na verdade, Cloud Functions para Firebase , que é praticamente apenas Cloud Functions integrado aos serviços do Firebase.
— AL.

2
Portanto, não há diferença entre os dois?
— Muhammad chhota

Gostaria de adicionar um ponto simples que não responde exatamente à sua pergunta. Você pode codificar em diferentes linguagens (NodeJS, Python. Heard Go está chegando) usando o Google Cloud Functions.
— viggy28

Respostas:


161

Não existe um produto denominado Firebase Functions.

Existem três coisas distintas:

  1. Google Cloud Functions , que permite que você execute snippets de código na infraestrutura do Google em resposta a eventos.
  2. Cloud Functions para Firebase , que aciona o Google Cloud Functions com base em eventos no Firebase (como gravações de banco de dados ou arquivo, criação de usuário etc.)
  3. Firebase SDK para Cloud Functions , que inclui uma biblioteca (chamada de maneira confusa firebase-functions) que você usa no código do Functions para acessar os dados do Firebase (como o instantâneo dos dados que foram gravados no banco de dados)

Portanto, o Firebase fornece um wrapper (relativamente fino) em torno do Google Cloud Functions para tornar o último produto mais fácil de usar e integrá-lo ao Firebase. Nesse sentido, é semelhante a como o Firebase integra o Google Cloud Storage ao "Cloud Storage for Firebase" (anteriormente conhecido como Firebase Storage).

Se estiver usando o Google Cloud Platform sem Firebase, você deve usar o Google Cloud Functions simples . Se você estiver no Firebase ou se for um desenvolvedor móvel interessado em Cloud Functions, deve usar o Cloud Functions para Firebase .


1
Para sua informação: as ferramentas do Firebase permitem que os desenvolvedores acessem todos os eventos do Google Cloud. O SDK "firebase-functions" e a Firebase CLI trabalham juntos para permitir que os desenvolvedores gerenciem um conjunto de funções com um comando simples de implantação - introdução fácil, enquanto você ainda tem acesso total ao Google Cloud Platform quando precisa.
— Ultrasaurus

Os preços não são diferentes, entretanto? Usar as funções do Google Cloud Platform fora do contexto do Firebase me dá 5 GB de dados de saída todos os meses gratuitamente. Chamar funções do GCP de dentro do contexto do Firebase proíbe o acesso a serviços que não sejam do Google no nível gratuito. O acesso à rede externa é permitido no nível de $ 25 ou no nível Blaze (pague conforme o uso), mas mesmo no nível Blaze, você é cobrado 40 centavos por milhão de invocações, mas através do GCP, seus primeiros 2 milhões de invocações são gratuitos, e então são 0,40 centavos por milhão.
— mancini0

Eles são executados exatamente na mesma infraestrutura, então não pode haver nenhuma diferença em como eles são executados. No plano Blaze, há a mesma cota gratuita. Na página de preços : "No plano Blaze, o Cloud Functions oferece um nível gratuito perpétuo. As primeiras 2.000.000 invocações, 400.000 GB-s, 200.000 CPU-s e 5 GB de tráfego de saída da Internet são fornecidos gratuitamente a cada mês. Você é cobrado apenas no uso após esta cota gratuita. "
— Frank van Puffelen

O Cloud Functions para Firebase não oferece suporte às funções a serem escritas em python, certo? Com base na frase "Você precisará de um ambiente Node.js para escrever funções (...)"
— JohnAndrews


5

O Google Cloud Platform, GCP, tem um artigo que aborda essa questão, Google Cloud Functions e Firebase .

Google Cloud Functions e Firebase

O Google Cloud Functions é a solução de computação sem servidor do Google para a criação de aplicativos orientados a eventos. É um produto conjunto entre a equipe do Google Cloud Platform e a equipe do Firebase.

Para desenvolvedores do Google Cloud Platform , Cloud Functions serve como uma camada conectiva, permitindo que você crie uma lógica entre os serviços do Google Cloud Platform (GCP) ouvindo e respondendo a eventos.

Para desenvolvedores do Firebase , Cloud Functions para Firebase oferece uma maneira de estender o comportamento do Firebase e integrar os recursos do Firebase por meio da adição de código do lado do servidor.

Ambas as soluções fornecem execução rápida e confiável de funções em um ambiente totalmente gerenciado, onde não há necessidade de se preocupar em gerenciar quaisquer servidores ou provisionar qualquer infraestrutura.

...

O Cloud Functions para Firebase é otimizado para desenvolvedores do Firebase:

  • SDK do Firebase para configurar suas funções por meio de código
  • Integrado com Firebase Console e Firebase CLI
  • Os mesmos acionadores do Google Cloud Functions, além dos acionadores do Firebase Realtime Database, Firebase Authentication e Firebase Analytics

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.