Firebase Hosting s'intègre aux options d'informatique sans serveur, y compris 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é.
Cloud Functions 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 d'informatique sans serveur avec Firebase Hosting ?
Servir du contenu dynamique — En plus de servir du contenu statique sur votre site d'hébergement, vous pouvez servir 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 faire pointer un modèle d'URL (comme
/blog/<blog-post-id>
) vers une fonction qui utilise le paramètre d'ID de publication de blog de l'URL pour récupérer dynamiquement le contenu de votre base de données.Construire 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 pour 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 ne génère du nouveau contenu que 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érendez 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 Cloud Functions pour Firebase et Cloud Run s'intègrent à Firebase Hosting et offrent un environnement sans serveur entièrement géré, à mise à l'échelle automatique et sécurisé, les deux options peuvent être exploitées pour différents cas d'utilisation et le niveau souhaité de configuration personnalisée.
Le tableau suivant décrit quelques considérations de base pour 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 pour Firebase ou Cloud Run ).
Considération | Fonctions cloud pour Firebase | Cloud Run |
---|---|---|
Installation | La CLI Firebase regroupe plusieurs tâches dans des 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 des langages et des frameworks | JavaScript et TypeScript Les frameworks Web, comme Express.js, sont pris en charge. | Tout langage pris en charge par Dockerfiles, y compris Go, Node.js, Python, Java et autres Les frameworks Web pour chaque langue sont pris en charge. |
Délai d'attente pour la demande d'hébergement | 60 secondes (voir la remarque ci-dessous) | 60 secondes (voir la remarque ci-dessous) |
Concurrence | 1 requête par instance de fonction (pas de simultanéité 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 de Container Registry Quota d'utilisation gratuit, mais un compte Cloud Billing est requis |