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 |