Firebase Hosting lässt sich in serverlose Computing-Optionen wie Cloud Functions for Firebase und Cloud Run einbinden. Mit Firebase Hosting und diesen Optionen können Sie Mikrodienste hosten, indem Sie HTTPS-Anfragen weiterleiten, um Ihre Funktionen und containerisierten Apps in einer verwalteten, sicheren Umgebung auszuführen.
Cloud Functions for Firebase: Sie schreiben und stellen eine Funktion bereit. Das ist Back-End-Code, der auf einen bestimmten Trigger reagiert. Anschließend können Sie mit Firebase Hosting HTTPS-Anfragen weiterleiten, um die Ausführung Ihrer Funktion auszulösen.
Cloud Run: Sie schreiben und stellen eine Anwendung bereit, die in einem Container-Image verpackt ist. Anschließend können Sie mit Firebase Hosting HTTPS-Anfragen so weiterleiten, dass Ihre containerisierte App ausgeführt wird.
Anwendungsfälle
Wie können Sie serverlose Computing-Optionen mit Firebase Hosting verwenden?
Dynamische Inhalte bereitstellen: Auf Ihrer Hosting-Website können Sie nicht nur statische Inhalte, sondern auch dynamisch generierte Antworten aus einer Funktion oder containerisierten App bereitstellen, die serverseitige Logik ausführt.
Sie können beispielsweise ein URL-Muster (z. B.
/blog/<blog-post-id>
) auf eine Funktion verweisen, die den Parameter für die Blogbeitrags-ID der URL verwendet, um Inhalte dynamisch aus Ihrer Datenbank abzurufen.REST APIs erstellen: Sie können mit Funktionen eine Mikrodienst-API erstellen.
Funktionen können beispielsweise die Anmeldefunktion für Ihre Website übernehmen. Ihre Website wird zwar unter
/
gehostet, aber jede Anfrage an/api
wird an Ihre Microservice API weitergeleitet. Hier finden Sie ein Open-Source-Beispiel.Dynamische Inhalte im Cache speichern: Sie können das Caching Ihrer dynamischen Inhalte in einem globalen CDN konfigurieren.
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. Sie können möglicherweise auch die Ausführungskosten senken, da die Inhalte über das CDN und nicht über eine ausgelöste Funktion oder eine containerisierte App bereitgestellt werden.
Single-Page-Apps vorrendern: Sie können die SEO verbessern und das Teilen 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 unterschiedliche Anwendungsfälle und den gewünschten Grad an benutzerdefinierter Konfiguration genutzt werden.
Wenn Sie eine der serverlosen Optionen verwenden, sollten Sie sie am besten mit den Servern für Firebase Hosting zusammenlegen, indem Sie sie in einer der folgenden Regionen bereitstellen:
us-west1
us-central1
us-east1
europe-west1
asia-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 der einzelnen Produkte (Cloud Functions for Firebase oder Cloud Run).
Kaufbereitschaft | Cloud Functions for Firebase | Cloud Run |
---|---|---|
Einrichtung | Die Firebase CLI fasst mehrere Aufgaben in einzelnen Befehlen zusammen, von der Initialisierung über das Erstellen bis hin zur Bereitstellung. | Container bieten mehr Anpassungsoptionen, sodass Einrichtungs-, Build- und Bereitstellungsaufgaben separate Schritte umfassen. |
Laufzeitumgebung | Erfordert Node.js, aber Sie können angeben, welche Version von Node.js verwendet werden soll. | Beim Erstellen des Containers geben Sie die Laufzeitumgebung an. |
Unterstützung von 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. Häufig gestellte Fragen zu Firebase |
Cloud Run Nutzung +
Container Registry Speicher
Kostenloses Nutzungskontingent, aber ein Cloud Billing-Konto ist erforderlich |