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. 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