Diffuser du contenu dynamique et héberger des microservices à l'aide de Firebase Hosting

Firebase Hosting s'intègre aux options d'informatique sans serveur, dont Cloud Functions for Firebase et Cloud Run. Utilisation de Firebase Hosting avec ces options, vous pouvez héberger des microservices en demandant aux requêtes HTTPS de déclencher vos fonctions et applications conteneurisées pour qu'elles s'exécutent dans un environnement géré et sécurisé.

Cloud Functions for Firebase: vous écrivez et déployez un , qui correspond au 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 votre fonction s'exécuter.

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

Cas d'utilisation

Comment utiliser les options d'informatique 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 faire pointer un format d'URL (tel que /blog/<blog-post-id>) vers un qui utilise le paramètre d'ID de l'article de blog de l'URL pour récupérer le 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 pour votre sur votre site Web. Lorsque votre site Web est hébergé sur /, toute requête envoyée à /api est redirigée vers votre API de microservice. Pour en savoir plus, consultez cet exemple Open Source.

  • Mettre en cache le contenu dynamique : vous pouvez configurer la mise en cache de votre contenu dynamique un CDN mondial.

    Par exemple, si une fonction ne génère de nouveau contenu que périodiquement, vous peut accélérer votre application en mettant en cache le contenu généré pendant au moins une période donnée. 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 application conteneurisée.

  • Précharger vos applications monopages : vous pouvez améliorer le SEO et optimiser. le partage sur différents réseaux sociaux en créant des tags 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 for Firebase et Cloud Run s'intègrent à Firebase Hosting et offrent un environnement sans serveur entièrement géré, évolutif et sécurisé, les deux options peuvent être exploitées pour différents cas d'utilisation et le niveau de configuration personnalisé souhaité.

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 procédant au déploiement 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 pour utiliser Cloud Functions for Firebase par rapport à Cloud Run. Pour obtenir la liste complète des les quotas, les limites et les métriques, reportez-vous à la documentation détaillée (Cloud Functions for Firebase ou Cloud Run).

Considération Cloud Functions for Firebase Cloud Run
Configuration La CLI Firebase regroupe plusieurs tâches en commandes uniques, à partir de l'initialisation, la compilation et le déploiement. Les conteneurs offrent des options plus personnalisables. les tâches de déploiement comprennent des étapes discrètes.
Environnement d'exécution Nécessite Node.js, mais vous pouvez spécifier lequel version de Node.js à utiliser. Lorsque vous créez votre conteneur, vous spécifiez l'environnement d'exécution.
Compatibilité avec les langages et les frameworks

JavaScript et TypeScript

Les frameworks Web, comme Express.js, sont acceptés.

Tout langage compatible avec les fichiers Dockerfiles, y compris Go, Node.js, Python, Java et d'autres

Les frameworks Web sont compatibles avec chaque langage.

Délai avant expiration pour 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
(pas de simultanéité par instance)
Jusqu'à 1 000 requêtes simultanées par instance de conteneur
Facturation Utilisation de Cloud Functions

Quota d'utilisation gratuit, mais un compte Cloud Billing est requis. Consultez les questions fréquentes sur Firebase.

Utilisation de Cloud Run + Container Registry d'espace de stockage

Un quota d'utilisation sans frais, Veuillez indiquer un compte Cloud Billing