Was ist der Unterschied zwischen Cloud-Funktionen und Firebase-Funktionen?


84

Cloud-Funktionen und Firebase-Funktionen (oder "Cloud-Funktionen für Firebase") sehen beide gleich aus. Bitte beschreiben Sie den jeweiligen Anwendungsfall.

Beide verwenden HTTP-Funktionen.

In den Cloud-Funktionen :

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

Und in den Firebase-Funktionen :

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

Was ist der Unterschied zwischen diesen?


1
Der Begriff für Firebase lautet eigentlich Cloud-Funktionen für Firebase. Dies sind so ziemlich nur Cloud-Funktionen, die in Firebase Services integriert sind.
AL.

2
Es gibt also keinen Unterschied zwischen beiden?
Muhammad Chhota

Möchte einen einfachen Punkt hinzufügen, der Ihre Frage nicht genau beantwortet. Sie können mithilfe der Google Cloud-Funktionen in verschiedenen Sprachen (NodeJS, Python. Heard Go kommt) codieren.
viggy28

Antworten:


157

Es gibt kein Produkt namens Firebase-Funktionen.

Es gibt drei verschiedene Dinge:

  1. Google Cloud-Funktionen , mit denen Sie als Reaktion auf Ereignisse Codeausschnitte in der Google-Infrastruktur ausführen können.
  2. Cloud-Funktionen für Firebase , die Google Cloud-Funktionen basierend auf Ereignissen in Firebase auslösen (z. B. Datenbank- oder Dateischreibvorgänge, Benutzererstellung usw.)
  3. Firebase SDK für Cloud-Funktionen , das eine Bibliothek (verwirrenderweise genannt firebase-functions) enthält, die Sie in Ihrem Funktionscode verwenden, um auf Firebase-Daten zuzugreifen (z. B. den Snapshot der Daten, die in die Datenbank geschrieben wurden).

Daher bietet Firebase einen (relativ dünnen) Wrapper für Google Cloud-Funktionen, um die Verwendung und Integration des letzteren Produkts in Firebase zu vereinfachen. In diesem Sinne ähnelt es der Integration von Google Cloud Storage in "Cloud Storage for Firebase" (früher bekannt als Firebase Storage).

Wenn Sie Google Cloud Platform ohne Firebase verwenden, sollten Sie einfache Google Cloud-Funktionen verwenden . Wenn Sie sich in Firebase befinden oder ein mobiler Entwickler sind, der sich für Cloud-Funktionen interessiert, sollten Sie Cloud-Funktionen für Firebase verwenden .


1
Zu Ihrer Information: Mit Firebase-Tools können Entwickler auf alle Google Cloud-Ereignisse zugreifen. Das SDK "firebase-functions" und die Firebase-CLI arbeiten zusammen, damit Entwickler eine Reihe von Funktionen mit einem einfachen Bereitstellungsbefehl verwalten können - ein einfacher Einstieg, während Sie bei Bedarf weiterhin vollen Zugriff auf Google Cloud Platform haben.
Ultrasaurus

Ist die Preisgestaltung jedoch nicht anders? Durch die Verwendung von Google Cloud Platform-Funktionen außerhalb des Firebase-Kontexts erhalte ich jeden Monat kostenlos 5 GB ausgehende Daten. Das Aufrufen von GCP-Funktionen aus dem Firebase-Kontext heraus verhindert den Zugriff auf Nicht-Google-Dienste auf der kostenlosen Ebene. Der Zugriff außerhalb des Netzwerks ist auf der 25-Dollar-Ebene oder auf der Blaze-Ebene (Pay as you go) zulässig. Selbst auf der Blaze-Ebene werden Ihnen 40 Cent pro Million Aufrufe berechnet. Über GCP sind Ihre ersten 2 Millionen Aufrufe jedoch kostenlos. und dann sind 0,40 Cent pro Million.
Mancini0

Sie laufen auf genau derselben Infrastruktur, sodass es keinen Unterschied in der Ausführung geben kann. Auf dem Blaze-Plan gibt es das gleiche kostenlose Kontingent. Von der Preisseite : „Auf dem Blaze Plan stellen Cloud - Funktionen ein unbefristetes freies Tier das erste 2.000.000 Anrufungen, 400.000 GB-sec, 200.000 CPU-sec und 5 GB Internet ausgehenden Datenverkehrs ist kostenlos jeden Monat zur Verfügung gestellt Sie sind.. Wird nur bei Nutzung nach dieser kostenlosen Zuteilung berechnet. "
Frank van Puffelen

Cloud-Funktionen für Firebase unterstützen nicht die Funktionen, die in Python geschrieben werden sollen. Stimmt das? Basierend auf dem Satz "Sie benötigen eine Node.js-Umgebung, um Funktionen zu schreiben (...)"
JohnAndrews

Heutzutage ist dies der Fall
Frank van Puffelen

5

Die Google Cloud Platform, GCP, enthält einen Artikel zu dieser Frage: Google Cloud-Funktionen und Firebase .

Google Cloud-Funktionen und Firebase

Google Cloud Functions ist die serverlose Computerlösung von Google zum Erstellen ereignisgesteuerter Anwendungen. Es ist ein gemeinsames Produkt zwischen dem Google Cloud Platform-Team und dem Firebase-Team.

Für Google Cloud Platform - Entwickler , Cloud - Funktionen dienen als Bindeschicht in dem Sie Logik zwischen Google Cloud Platform (GCP) Diensten weben durch zum Zuhören und Reagieren auf Ereignisse.

Für Firebase - Entwickler , für Firebase Cloud - Funktionen bieten eine Möglichkeit , das Verhalten von Firebase zu erweitern und integrieren Firebase bietet durch den Zusatz von serverseitigen Code.

Beide Lösungen bieten eine schnelle und zuverlässige Ausführung von Funktionen in einer vollständig verwalteten Umgebung, in der Sie sich nicht um die Verwaltung von Servern oder die Bereitstellung von Infrastrukturen kümmern müssen.

...

Cloud-Funktionen für Firebase sind für Firebase-Entwickler optimiert:

  • Firebase SDK zum Konfigurieren Ihrer Funktionen über Code
  • Integriert in Firebase Console und Firebase CLI
  • Dieselben Auslöser wie die Google Cloud-Funktionen sowie die Auslöser Firebase Realtime Database, Firebase Authentication und Firebase Analytics

3

Es gibt einen zusätzlichen Unterschied: Firebase-Funktionen können nur in JS oder Node.JS implementiert werden, während Cloud-Funktionen auch die Verwendung von Python und Go ermöglichen.

Es gibt auch einen kleinen Unterschied in Bezug auf die Preisgestaltung, wenn Sie am Spark-Plan teilnehmen. Überprüfen Sie dies unter https://firebase.google.com/pricing vs. https://cloud.google.com/functions/pricing. Wenn Sie sich im Blaze-Plan befinden, ist der Preis derselbe.

Ich verwende beide für mein Firebase-Projekt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.