Dynamische Inhalte bereitstellen und Mikrodienste mit Firebase Hosting hosten

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 Mikrodienste hosten, indem Sie HTTPS-Anfragen leiten, um Ihre Funktionen und containerisierten Apps in einer verwalteten, sicheren Umgebung auszuführen.

Cloud Functions for Firebase: Sie schreiben und stellen eine Funktion bereit, also Back-End-Code, der auf einen bestimmten Trigger reagiert. Anschließend können Sie mit Firebase Hosting HTTPS-Anfragen senden, um die Ausführung Ihrer Funktion auszulösen.

Cloud Run: Sie schreiben und stellen eine in einem Container-Image verpackte Anwendung bereit. Anschließend können Sie mit Firebase Hosting HTTPS-Anfragen steuern, um die Ausführung Ihrer containerisierten Anwendung auszulösen.

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 aus einer Funktion oder containerisierten App, die serverseitige Logik ausführt.

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

  • REST APIs erstellen: Sie können eine Mikrodienst-API mithilfe von Funktionen erstellen.

    So können Funktionen beispielsweise die Anmeldefunktion für Ihre Website übernehmen. Solange Ihre Website bei / gehostet wird, werden alle Anfragen an /api an Ihre Microservices API weitergeleitet. Ein Beispiel finden Sie in diesem 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 gelegentlich neue Inhalte generiert, können Sie Ihre App beschleunigen, indem Sie die generierten Inhalte für mindestens einen kurzen Zeitraum im Cache speichern. Außerdem lassen sich die Ausführungskosten möglicherweise senken, da die Inhalte nicht über eine ausgelöste Funktion oder eine containerisierte App, sondern über das CDN bereitgestellt werden.

  • Einseitige Apps vor dem Rendern optimieren: Mithilfe dynamischer meta-Tags können Sie die SEO verbessern und die Freigabe in verschiedenen sozialen Netzwerken optimieren. 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, skalierbare und sichere serverlose Umgebung. Die beiden Optionen können jedoch für unterschiedliche Anwendungsfälle und gewünschte Konfigurationsebenen genutzt werden.

Wenn Sie eine der serverlosen Optionen verwenden, sollten Sie sie zusammen mit den Servern für Firebase Hosting bereitstellen. Dazu können 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 und 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 bündelt mehrere Aufgaben in einzelnen Befehlen, von der Initialisierung bis zum Builden und Bereitstellen. Container bieten mehr anpassbare Optionen, sodass Einrichtung, Build und Bereitstellung in einzelne Schritte unterteilt werden.
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.

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

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

Zeitüberschreitung für Hosting-Anfrage 60 Sekunden (siehe Hinweis unten) 60 Sekunden (siehe Hinweis unten)
Nebenläufigkeit 1 Anfrage pro Funktionsinstanz
(keine Parallelität 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 häufig gestellten Fragen zu Firebase.

Cloud Run Nutzung + Container Registry Speicher

Kostenloses Nutzungskontingent, aber ein Cloud Billing-Konto ist erforderlich