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.