Comparaison des versions de Cloud Functions

Il existe deux versions de Cloud Functions for Firebase:

  • Cloud Functions (2e génération), qui déploie vos fonctions en tant que services sur Cloud Run, ce qui vous permet de les déclencher à l'aide de Eventarc et de Pub/Sub.
  • Cloud Functions (1re génération), version d'origine des fonctions avec des déclencheurs d'événements et une configuration limités.

Dans la mesure du possible, nous vous recommandons de choisir Cloud Functions (2e génération) pour les nouvelles fonctions. Nous prévoyons toutefois de continuer à prendre en charge Cloud Functions (1re génération).

Cette page décrit les fonctionnalités introduites dans Cloud Functions et fournit une comparaison entre les deux versions de produit.

Cloud Functions (2e génération)

Cloud Functions est l'offre Functions as a Service de nouvelle génération de Firebase. Basé sur Cloud Run et Eventarc, Cloud Functions (2e génération) améliore l'infrastructure et la couverture des événements sur Cloud Functions, par exemple:

  • Basé sur Cloud Run: les fonctions sont créées avec Cloud Build et déployées en tant que services Cloud Run. Vous pouvez ainsi personnaliser votre fonction comme vous le feriez avec un service Cloud Run. Reportez-vous à la documentation Cloud Run pour découvrir les options de configuration de votre service, telles que les limites de mémoire, les variables d'environnement, etc.
  • Temps de traitement des requêtes plus longs: exécutez les charges de travail de requêtes plus longues, telles que le traitement de grands flux de données depuis Cloud Storage ou BigQuery.
  • Augmentation de la taille des instances : exécutez de plus grandes charges de travail en parallèle, en mémoire, et gourmandes en ressources de calcul.
  • Amélioration de la simultanéité : gérez plusieurs requêtes simultanées avec une seule instance de fonction pour réduire les démarrages à froid et améliorer la latence.
  • Gestion du trafic : répartissez le trafic entre différentes révisions de fonctions ou effectuez un rollback vers une version précédente.
  • Intégration de Eventarc: compatibilité native avec les déclencheurs Eventarc, ce qui permet d'utiliser toutes les sources d'événements compatibles avec Eventarc (plus de 90) dans Cloud Functions.
  • Plus de compatibilité avec CloudEvents : compatibilité avec les événements CloudEvents standards dans les environnements d'exécution de tous les langages, offrant une expérience cohérente aux développeurs.

Pour en savoir plus, consultez le tableau de comparaison.

Cloud Functions étant déployé en tant que service sur Cloud Run, il partage les quotas et les limites de ressources de Cloud Run.Cloud Functions Consultez la section Quotas.

Tableau de comparaison

Fonctionnalité Cloud Functions (1re génération) Cloud Functions
Registre d'images Container Registry ou Artifact Registry Artifact Registry uniquement
Délai avant expiration de la requête 9 minutes maximum
  • Jusqu'à 60 minutes pour les fonctions déclenchées par HTTP
  • Jusqu'à 9 minutes pour les fonctions déclenchées par des événements
Taille de l'instance Jusqu'à 8 Go de RAM avec 2 processeurs virtuels Jusqu'à 16 Gio de RAM avec 4 processeurs virtuels
Simultanéité 1 requête simultanée par instance de fonction Jusqu'à 1 000 requêtes simultanées par instance de fonction

Tarifs

Pour en savoir plus sur les tarifs, consultez les formules Firebase.

Si vous utilisez Cloud Functions, vous pouvez afficher les coûts qui ne sont associés qu'à Cloud Functions comme suit:

  1. Accédez à la page Cloud Billing Rapports dans la console Google Cloud.
  2. Si vous y êtes invité, sélectionnez le compte de facturation associé à votre projet Google Cloud.
  3. Dans le panneau Filtres, sous Libellés, ajoutez un filtre de libellé avec la clé goog-managed-by et la valeur cloudfunctions.

Limites

Cloud Functions for Firebase (2e génération) n'est pas compatible avec les événements Analytics.

Bien que Cloud Functions for Firebase (2e génération) soit compatible avec les événements bloquant l'authentification, il n'accepte pas le même ensemble d'événements Authentication de base que la 1re génération.

Toutefois, comme les fonctions de 1re et 2e génération peuvent coexister côte à côte dans le même fichier source, vous pouvez toujours développer et déployer des déclencheurs Analytics et Authentication de base de 1re génération avec des fonctions de 2e génération.