Stellen Sie dynamische Inhalte bereit und hosten Sie Microservices mit Firebase Hosting

Firebase Hosting lässt sich in serverlose Computing-Optionen integrieren, einschließlich Cloud Functions für Firebase und Cloud Run. Wenn Sie Firebase Hosting mit diesen Optionen verwenden, können Sie Microservices hosten, indem Sie HTTPS-Anfragen anleiten, um die Ausführung Ihrer Funktionen und Container-Apps in einer verwalteten, sicheren Umgebung auszulösen.

Cloud Functions für Firebase : Sie schreiben und stellen eine Funktion bereit, bei der es sich um Backend-Code handelt, der auf einen bestimmten Auslöser reagiert. Mithilfe von Firebase Hosting können Sie dann HTTPS-Anfragen leiten, um die Ausführung Ihrer Funktion auszulösen.

Cloud Run : Sie schreiben und stellen eine Anwendung bereit, die in einem Container-Image verpackt ist. Mithilfe von Firebase Hosting können Sie dann HTTPS-Anfragen leiten, um die Ausführung Ihrer Container-App auszulösen.

Anwendungsfälle

Wie können Sie Serverless-Computing-Optionen mit Firebase Hosting nutzen?

  • Dynamische Inhalte bereitstellen – Zusätzlich zur Bereitstellung statischer Inhalte auf Ihrer Hosting-Site können Sie dynamisch generierte Antworten von einer Funktion oder einer Container-App bereitstellen, die serverseitige Logik ausführt.

    Sie können beispielsweise ein URL-Muster (wie /blog/<blog-post-id> ) auf eine Funktion verweisen, die den Blog-Post-ID-Parameter der URL verwendet, um Inhalte dynamisch aus Ihrer Datenbank abzurufen.

  • Erstellen Sie REST-APIs – Sie können mithilfe von Funktionen eine Microservice-API erstellen.

    Funktionen können beispielsweise die Anmeldefunktion für Ihre Website verwalten. Während Ihre Website unter / gehostet wird, wird jede Anfrage an /api an Ihre Microservice-API umgeleitet. Schauen Sie sich als Beispiel dieses Open-Source-Beispiel an.

  • Dynamische Inhalte zwischenspeichern – Sie können die Zwischenspeicherung Ihrer dynamischen Inhalte auf 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 zumindest für einen kurzen Zeitraum zwischenspeichern. Sie können möglicherweise auch die Ausführungskosten senken, da der Inhalt vom CDN bereitgestellt wird und nicht über eine ausgelöste Funktion oder eine Container-App.

  • Rendern Sie Ihre Single-Page-Apps vorab – Sie können die SEO verbessern und das Teilen in verschiedenen sozialen Netzwerken optimieren, indem Sie dynamische meta Tags erstellen. Um mehr zu erfahren, schauen Sie sich dieses Video an oder schauen Sie sich dieses Open-Source-Beispiel an.

Auswahl einer serverlosen Option

Während sowohl Cloud Functions for Firebase als auch Cloud Run in Firebase Hosting integriert sind und eine vollständig verwaltete, automatisch skalierbare und sichere serverlose Umgebung bieten, können die beiden Optionen für unterschiedliche Anwendungsfälle und den gewünschten Grad an individueller Konfiguration genutzt werden.

Wenn Sie eine der serverlosen Optionen verwenden, ist es am besten, sie gemeinsam mit den Servern für Firebase Hosting zu platzieren, 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 für Firebase im Vergleich zu Cloud Run beschrieben. Eine vollständige Liste der Kontingente, Grenzwerte und Metriken finden Sie in der ausführlichen Dokumentation des jeweiligen Produkts ( Cloud Functions für Firebase oder Cloud Run ).

Rücksichtnahme Cloud-Funktionen für Firebase Cloud Run
Aufstellen Die Firebase-CLI bündelt mehrere Aufgaben in einzelnen Befehlen, von der Initialisierung bis zum Erstellen und Bereitstellen. Container bieten mehr anpassbare Optionen, sodass Einrichtungs-, Build- und Bereitstellungsaufgaben diskrete Schritte umfassen.
Laufzeitumgebung Erfordert Node.js, aber Sie können angeben , welche Version von Node.js verwendet werden soll. Beim Erstellen Ihres Containers legen Sie die Laufzeitumgebung fest.
Unterstützung von Sprachen und Frameworks

JavaScript und TypeScript

Web-Frameworks wie Express.js werden unterstützt.

Jede Sprache, die Dockerfiles unterstützt, einschließlich Go, Node.js, Python, Java und andere

Web-Frameworks für jede Sprache werden unterstützt.

Zeitüberschreitung für Hosting-Anfrage 60 Sekunden (siehe Hinweis unten) 60 Sekunden (siehe Hinweis unten)
Parallelität 1 Anfrage pro Funktionsinstanz
(keine Parallelität pro Instanz)
Bis zu 1.000 gleichzeitige Anfragen pro Containerinstanz
Abrechnung Nutzung von Cloud Functions

Kostenloses Nutzungskontingent, aber ein Cloud-Rechnungskonto ist erforderlich. Siehe die Firebase-FAQ .

Cloud Run-Nutzung + Container Registry-Speicher

Kostenloses Nutzungskontingent, aber ein Cloud-Rechnungskonto ist erforderlich