Firebase Hosting lässt sich in serverlose Computing-Optionen wie Cloud Functions for Firebase und Cloud Run einbinden. Wenn Sie Firebase Hosting mit diesen Optionen verwenden, können Sie Microservices hosten, indem Sie HTTPS-Anfragen so weiterleiten, dass Ihre Funktionen und Containeranwendungen in einer verwalteten, sicheren Umgebung ausgeführt werden.
Cloud Functions for Firebase: Sie schreiben und stellen eine Funktion bereit. Das ist Backend-Code, der auf einen bestimmten Trigger reagiert. Mit Firebase Hosting können Sie dann HTTPS-Anfragen so weiterleiten, dass Ihre Funktion ausgeführt wird.
Cloud Run: Sie schreiben und stellen eine Anwendung bereit, die in einem Container-Image verpackt ist. Mit Firebase Hosting können Sie dann HTTPS-Anfragen so weiterleiten, dass Ihre Containeranwendung ausgeführt wird.
Anwendungsfälle
Wie können Sie serverlose Computing-Optionen mit Firebase Hosting verwenden?
Dynamische Inhalte bereitstellen : Sie können nicht nur statische Inhalte auf Ihrer Hosting Website bereitstellen, sondern auch dynamisch generierte Antworten von einer Funktion oder Containeranwendung, die serverseitige Logik ausführt.
Sie können beispielsweise ein URL-Muster (wie
/blog/<blog-post-id>) auf eine Funktion verweisen, die den Parameter für die Blogpost-ID der URL verwendet, um Inhalte dynamisch aus Ihrer Datenbank abzurufen.REST APIs erstellen : Sie können mit Funktionen eine Microservice-API erstellen.
Funktionen können beispielsweise die Anmeldefunktion für Ihre Website verarbeiten. Während Ihre Website unter
/gehostet wird, wird jede Anfrage an/apian Ihre Mikrodienst-API weitergeleitet. Ein Beispiel finden Sie in diesem Open-Source-Beispiel.Dynamische Inhalte im Cache speichern : Sie können das Caching konfigurieren Ihrer dynamischen Inhalte in einem globalen CDN.
Wenn eine Funktion beispielsweise nur in regelmäßigen Abständen neue Inhalte generiert, können Sie Ihre App beschleunigen, indem Sie die generierten Inhalte für mindestens kurze Zeit im Cache speichern. Außerdem können Sie möglicherweise Ausführungskosten senken, da die Inhalte aus dem CDN und nicht über eine ausgelöste Funktion oder Containeranwendung bereitgestellt werden.
Single-Page-Apps vorrendern : Sie können die SEO verbessern und die Freigabe in verschiedenen sozialen Netzwerken optimieren, indem Sie dynamische
meta-Tags erstellen. Weitere Informationen finden Sie in diesem Video oder in diesem Open-Source-Beispiel.
Serverlose Option auswählen
Sowohl Cloud Functions for Firebase als auch Cloud Run lassen sich in Firebase Hosting einbinden und bieten eine vollständig verwaltete, automatisch skalierbare und sichere serverlose Umgebung. Die beiden Optionen können jedoch für verschiedene Anwendungsfälle und mit unterschiedlichen Anpassungsgraden genutzt werden.
Wenn Sie eine der beiden serverlosen Optionen verwenden, sollten Sie sie mit den Servern für Firebase Hosting zusammenlegen, indem Sie sie in einer der folgenden Regionen bereitstellen:
us-west1us-central1us-east1europe-west1asia-east1
In der folgenden Tabelle werden einige grundlegende Überlegungen zur Verwendung von Cloud Functions for Firebase im Vergleich zu Cloud Run beschrieben. Eine vollständige Liste der Kontingente, Limits und Messwerte finden Sie in der detaillierten Dokumentation des jeweiligen Produkts (Cloud Functions for Firebase oder Cloud Run).
| Kaufbereitschaft | Cloud Functions for Firebase | Cloud Run |
|---|---|---|
| Einrichtung | Die Firebase CLI bündelt mehrere Aufgaben in einzelnen Befehlen, von der Initialisierung über die Erstellung bis zur Bereitstellung. | Container bieten mehr anpassbare Optionen. Daher umfassen die Aufgaben für Einrichtung, Erstellung und Bereitstellung separate Schritte. |
| Laufzeitumgebung | Erfordert Node.js. Sie können jedoch angeben, welche Version von Node.js verwendet werden soll. | Beim Erstellen des Containers geben Sie die Laufzeitumgebung an. |
| Unterstützung für Sprachen und Frameworks | JavaScript und TypeScript Web-Frameworks wie Express.js werden unterstützt. |
Alle Sprachen, die von Dockerfiles unterstützt werden, einschließlich Go, Node.js, Python, Java und anderen Web-Frameworks für jede Sprache werden unterstützt. |
| Zeitlimit für Hosting Anfrage | 60 Sekunden (siehe Hinweis unten) | 60 Sekunden (siehe Hinweis unten) |
| Nebenläufigkeit | 1 Anfrage pro Funktionsinstanz (keine Nebenläufigkeit pro Instanz) |
Bis zu 1.000 gleichzeitige Anfragen pro Containerinstanz |
| Abrechnung | Cloud Functions Nutzung
Kostenloses Nutzungskontingent, aber ein Cloud Billing Konto ist erforderlich. Weitere Informationen finden Sie in den FAQs zu Firebase. |
Cloud Run Nutzung +
Container Registry Speicher
Kostenloses Nutzungskontingent, aber ein Cloud Billing Konto ist erforderlich |