Diffusez du contenu dynamique et hébergez des microservices à l'aide de Firebase Hosting

Firebase Hosting s'intègre aux options informatiques sans serveur, notamment Cloud Functions pour Firebase et Cloud Run. En utilisant Firebase Hosting avec ces options, vous pouvez héberger des microservices en dirigeant les requêtes HTTPS pour déclencher l'exécution de vos fonctions et applications conteneurisées dans un environnement géré et sécurisé.

Fonctions Cloud pour Firebase : vous écrivez et déployez une fonction, qui est un code backend qui répond à un déclencheur spécifique. Ensuite, à l'aide de Firebase Hosting, vous pouvez diriger les requêtes HTTPS pour déclencher l'exécution de votre fonction.

Cloud Run : vous écrivez et déployez une application packagée dans une image de conteneur. Ensuite, à l'aide de Firebase Hosting, vous pouvez diriger les requêtes HTTPS pour déclencher l'exécution de votre application conteneurisée.

Cas d'utilisation

Comment pouvez-vous utiliser les options informatiques sans serveur avec Firebase Hosting ?

  • Servir du contenu dynamique — En plus de diffuser du contenu statique sur votre site d'hébergement, vous pouvez diffuser des réponses générées dynamiquement à partir d'une fonction ou d'une application conteneurisée qui exécute une logique côté serveur.

    Par exemple, vous pouvez pointer un modèle d'URL (comme /blog/<blog-post-id> ) vers une fonction qui utilise le paramètre ID de publication de blog de l'URL pour récupérer dynamiquement le contenu de votre base de données.

  • Créer des API REST — Vous pouvez créer une API de microservice à l'aide de fonctions.

    Par exemple, les fonctions peuvent gérer la fonctionnalité de connexion à votre site Web. Pendant que votre site Web est hébergé sur / , toute demande adressée à /api est redirigée vers votre API de microservice. Pour un exemple, consultez cet exemple open source .

  • Mettre en cache le contenu dynamique — Vous pouvez configurer la mise en cache de votre contenu dynamique sur un CDN global.

    Par exemple, si une fonction génère du nouveau contenu uniquement périodiquement, vous pouvez accélérer votre application en mettant en cache le contenu généré pendant au moins une courte période. Vous pouvez également potentiellement réduire les coûts d'exécution car le contenu est servi à partir du CDN plutôt que via une fonction déclenchée ou une application conteneurisée.

  • Pré-affichez vos applications d'une seule page — Vous pouvez améliorer le référencement et optimiser le partage sur divers réseaux sociaux en créant des balises meta dynamiques. Pour en savoir plus, regardez cette vidéo ou consultez cet exemple open source .

Choisir une option sans serveur

Bien que les fonctions Cloud pour Firebase et Cloud Run s'intègrent à Firebase Hosting et offrent un environnement sans serveur entièrement géré, autoscalable et sécurisé, les deux options peuvent être exploitées pour différents cas d'utilisation et le niveau souhaité de configuration personnalisée.

Lorsque vous utilisez l'une ou l'autre des options sans serveur, il est préférable de la colocaliser avec les serveurs pour Firebase Hosting en déployant dans l'une des régions suivantes :

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

Le tableau suivant décrit quelques considérations de base concernant l'utilisation de Cloud Functions pour Firebase par rapport à Cloud Run. Pour obtenir la liste complète des quotas, des limites et des métriques, reportez-vous à la documentation détaillée de chaque produit ( Cloud Functions for Firebase ou Cloud Run ).

Considération Fonctions cloud pour Firebase Exécution en nuage
Installation La CLI Firebase regroupe plusieurs tâches en commandes uniques, de l'initialisation à la création et au déploiement. Les conteneurs offrent des options plus personnalisables, de sorte que les tâches de configuration, de création et de déploiement impliquent des étapes discrètes.
Environnement d'exécution Nécessite Node.js, mais vous pouvez spécifier la version de Node.js à utiliser. Lors de la création de votre conteneur , vous spécifiez l'environnement d'exécution.
Prise en charge du langage et des frameworks

JavaScript et TypeScript

Les frameworks Web, comme Express.js, sont pris en charge.

Tout langage pris en charge par Dockerfiles, notamment Go, Node.js, Python, Java et autres

Les frameworks Web pour chaque langue sont pris en charge.

Délai d'expiration pour la demande d'hébergement 60 secondes (voir remarque ci-dessous) 60 secondes (voir remarque ci-dessous)
Concurrence 1 requête par instance de fonction
(pas de concurrence par instance)
Jusqu'à 1 000 requêtes simultanées par instance de conteneur
Facturation Utilisation des fonctions Cloud

Quota d'utilisation gratuit, mais un compte Cloud Billing est requis. Consultez la FAQ Firebase .

Utilisation de Cloud Run + stockage Container Registry

Quota d'utilisation gratuit, mais un compte Cloud Billing est requis