Firebase Hosting s'intègre aux options de calcul sans serveur, y compris Cloud Functions for 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 for 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 empaqueté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 utiliser les options de calcul sans serveur avec Firebase Hosting ?
Diffuser du contenu dynamique : en plus de diffuser du contenu statique sur votre site Hosting, vous pouvez diffuser des réponses générées de manière dynamique à 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 (tel que
/blog/<blog-post-id>) vers une fonction qui utilise le paramètre d'ID d'article de blog de l'URL pour récupérer du contenu de manière dynamique à partir 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 de votre site Web. Bien que votre site Web soit hébergé sur
/, toute requête adressée à/apiest redirigée vers votre API de microservice. Pour obtenir un exemple, consultez cet exemple Open Source.Mettre en cache du contenu dynamique : vous pouvez configurer la mise en cache de votre contenu dynamique sur un CDN mondial.
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 réduire les coûts d'exécution, car le contenu est diffusé à partir du CDN plutôt que via une fonction déclenchée ou une application conteneurisée.
Effectuer un prérendu de vos applications monopages : vous pouvez améliorer le référencement et optimiser le partage sur différents réseaux sociaux en créant des balises
metadynamiques. Pour en savoir plus, regardez cette vidéo ou consultez cet exemple Open Source.
Choisir une option sans serveur
Bien que Cloud Functions for Firebase et Cloud Run s'intègrent à Firebase Hosting et offrent un environnement sans serveur entièrement géré, à autoscaling et sécurisé, les deux options peuvent être utilisées pour différents cas d'utilisation et différents niveaux de configuration personnalisée.
Lorsque vous utilisez l'une ou l'autre option sans serveur, il est préférable de la colocaliser avec les serveurs pour Firebase Hosting en effectuant le déploiement dans l'une des régions suivantes :
us-west1us-central1us-east1europe-west1asia-east1
Le tableau suivant décrit quelques considérations de base concernant l'utilisation de Cloud Functions for Firebase par rapport à Cloud Run. Pour obtenir la liste complète des quotas, des limites et des métriques, consultez la documentation détaillée de chaque produit (Cloud Functions for Firebase ou Cloud Run).
| Considération | Cloud Functions for Firebase | Cloud Run |
|---|---|---|
| Configuration | L'interface CLI Firebase regroupe plusieurs tâches en une seule commande, de l' initialisation à la compilation et au déploiement. | Les conteneurs offrent des options plus personnalisables. Les tâches de configuration, de compilation et de déploiement impliquent donc des étapes distinctes. |
| Environnement d'exécution | Nécessite Node.js, mais vous pouvez spécifier la version de Node.js à utiliser. | Lorsque vous créez votre conteneur, vous spécifiez l'environnement d'exécution. |
| Prise en charge des langages et des frameworks | JavaScript et TypeScript Les frameworks Web, tels que Express.js, sont compatibles. |
Tous les langages compatibles avec les Dockerfiles, y compris Go, Node.js, Python, Java, etc. Les frameworks Web pour chaque langage sont compatibles. |
| Délai avant expiration de la requête Hosting | 60 secondes (voir la remarque ci-dessous) | 60 secondes (voir la remarque ci-dessous) |
| Simultanéité | 1 requête par instance de fonction (aucune simultanéité par instance) |
Jusqu'à 1 000 requêtes simultanées par instance de conteneur |
| Facturation | Cloud Functions utilisation
Quota d'utilisation sans frais, mais un Cloud Billing compte est requis. Consultez les questions fréquentes sur Firebase. |
Cloud Run utilisation +
Container Registry stockage
Quota d'utilisation sans frais, mais un Cloud Billing compte est requis. |