Qual è la differenza tra Cloud Functions e Firebase Functions?


89

Cloud Functions e Firebase Functions (o "Cloud Functions for Firebase") hanno lo stesso aspetto. Descrivi il caso d'uso di ciascuno.

Entrambi utilizzano funzioni HTTP.

Nelle funzioni Cloud :

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

E nelle funzioni Firebase :

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

Qual è la differenza tra questi?


1
Il termine per Firebase è in realtà Cloud Functions per Firebase , che è praticamente solo Cloud Functions integrato con i servizi Firebase.
AL.

2
Quindi non c'è differenza tra entrambi?
Muhammad chhota

Vorrei aggiungere un semplice punto che non risponde esattamente alla tua domanda. Puoi programmare in diverse lingue (NodeJS, Python. Heard Go sta arrivando) utilizzando Google Cloud Functions.
viggy28

Risposte:


161

Non esiste un prodotto chiamato Funzioni Firebase.

Ci sono tre cose separate:

  1. Google Cloud Functions , che ti consentono di eseguire snippet di codice nell'infrastruttura di Google in risposta agli eventi.
  2. Cloud Functions for Firebase , che attiva Google Cloud Functions in base agli eventi in Firebase (come scritture di database o file, creazione di utenti e così via)
  3. Firebase SDK for Cloud Functions , che include una libreria (chiamata in modo confuso firebase-functions) che utilizzi nel codice Functions per accedere ai dati di Firebase (come l'istantanea dei dati che sono stati scritti nel database)

Quindi Firebase fornisce un wrapper (relativamente sottile) attorno a Google Cloud Functions, per rendere quest'ultimo prodotto più facile da usare e integrarlo con Firebase. In questo senso è simile a come Firebase integra Google Cloud Storage in "Cloud Storage for Firebase" (precedentemente noto come Firebase Storage).

Se stai utilizzando Google Cloud Platform senza Firebase, dovresti utilizzare Google Cloud Functions . Se sei su Firebase o se sei uno sviluppatore mobile interessato a Cloud Functions, dovresti utilizzare Cloud Functions per Firebase .


1
FYI: gli strumenti Firebase consentono agli sviluppatori di accedere a tutti gli eventi di Google Cloud. L'SDK "firebase-functions" e la CLI di Firebase lavorano insieme per consentire agli sviluppatori di gestire una serie di funzioni con un semplice comando deploy: un facile avvio, pur mantenendo pieno accesso a Google Cloud Platform quando ne hai bisogno.
Ultrasaurus

Tuttavia, il prezzo non è diverso? L'utilizzo delle funzioni di Google Cloud Platform al di fuori del contesto Firebase mi offre gratuitamente 5 GB di dati in uscita ogni mese. La chiamata alle funzioni GCP dall'interno del contesto Firebase impedisce l'accesso ai servizi non Google al livello gratuito. L'accesso alla rete dall'esterno è consentito al livello di $ 25 o al livello di Blaze (con pagamento a consumo), ma anche a livello di Blaze ti vengono addebitati 40 centesimi per milione di chiamate, ma tramite GCP, i tuoi primi 2 milioni di chiamate sono gratuiti, e poi sono 0,40 centesimi per milione.
mancini0

Funzionano sulla stessa identica infrastruttura, quindi non può esserci alcuna differenza nel modo in cui vengono eseguiti. Sul piano Blaze c'è la stessa quota gratuita. Dalla pagina dei prezzi : "Nel piano Blaze, Cloud Functions offre un livello gratuito perpetuo. Le prime 2.000.000 di chiamate, 400.000 GB al secondo, 200.000 CPU al secondo e 5 GB di traffico Internet in uscita sono fornite gratuitamente ogni mese. Tu sei addebitato solo per l'utilizzo oltre questa assegnazione gratuita. "
Frank van Puffelen

Cloud Functions per Firebase non supporta le funzioni da scrivere in Python, giusto? Basato sulla frase "Avrai bisogno di un ambiente Node.js per scrivere funzioni (...)"
JohnAndrews


5

Google Cloud Platform, GCP, ha un articolo che affronta questa domanda, Google Cloud Functions e Firebase .

Google Cloud Functions e Firebase

Google Cloud Functions è la soluzione di elaborazione serverless di Google per la creazione di applicazioni basate su eventi. È un prodotto congiunto tra il team di Google Cloud Platform e il team di Firebase.

Per gli sviluppatori di Google Cloud Platform , Cloud Functions funge da livello connettivo che consente di tessere la logica tra i servizi di Google Cloud Platform (GCP) ascoltando e rispondendo agli eventi.

Per gli sviluppatori Firebase , Cloud Functions per Firebase offre un modo per estendere il comportamento di Firebase e integrare le funzionalità di Firebase tramite l'aggiunta di codice lato server.

Entrambe le soluzioni forniscono un'esecuzione rapida e affidabile delle funzioni in un ambiente completamente gestito in cui non è necessario preoccuparsi della gestione dei server o del provisioning di alcuna infrastruttura.

...

Cloud Functions per Firebase è ottimizzato per gli sviluppatori Firebase:

  • Firebase SDK per configurare le tue funzioni tramite codice
  • Integrato con Firebase Console e Firebase CLI
  • Gli stessi trigger di Google Cloud Functions, oltre a Firebase Realtime Database, Firebase Authentication e Firebase Analytics

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.