128 votes

Quelle est la différence entre les fonctions Cloud et les fonctions Firebase?

Fonctions Cloud et Fonctions Firebase (ou "Fonctions Cloud pour Firebase") se ressemblent. Veuillez décrire le cas d'utilisation de chacune.

Les deux utilisent des fonctions HTTP.

Dans les Fonctions Cloud:

exports.helloHttp = function helloHttp (req, res) {
  res.send(`Bonjour ${req.body.name || 'le Monde'}!`);
};

Et dans les Fonctions Firebase:

exports.helloWorld = functions.https.onRequest((requete, réponse) => {
  réponse.send("Bonjour depuis Firebase!");
});

Quelle est la différence entre ces deux ?

2 votes

Le terme pour Firebase est en fait Fonctions Cloud pour Firebase, qui est en grande partie simplement des Fonctions Cloud intégrées avec les services Firebase.

2 votes

Donc il n'y a pas de différence entre les deux?

0 votes

Je voudrais ajouter un point simple qui ne répond pas exactement à votre question. Vous pouvez coder dans différentes langues (NodeJS, Python. J'ai entendu dire que Go arrive) en utilisant Google Cloud Functions.

232voto

Frank van Puffelen Points 16029

Il n'y a pas de produit appelé Firebase Functions.

Il y a trois choses distinctes :

  1. Google Cloud Functions, qui vous permettent d'exécuter des extraits de code dans l'infrastructure de Google en réponse à des événements.
  2. Cloud Functions for Firebase, qui déclenche Google Cloud Functions en fonction des événements dans Firebase (comme les écritures de base de données ou de fichiers, la création d'utilisateurs, etc.)
  3. Firebase SDK for Cloud Functions, qui inclut une bibliothèque (confusément appelée firebase-functions) que vous utilisez dans votre code de fonctions pour accéder aux données Firebase (telles que l'instantané des données qui ont été écrites dans la base de données).

Ainsi, Firebase fournit une enveloppe (relativement mince) autour de Google Cloud Functions, pour rendre ce dernier produit plus facile à utiliser et l'intégrer avec Firebase. Dans ce sens, c'est similaire à la façon dont Firebase intègre Google Cloud Storage dans "Cloud Storage for Firebase" (anciennement connu sous le nom de Firebase Storage).

Si vous utilisez Google Cloud Platform sans Firebase, alors vous devriez utiliser simplement Google Cloud Functions. Si vous êtes sur Firebase ou si vous êtes un développeur mobile intéressé par les Cloud Functions, vous devriez utiliser Cloud Functions pour Firebase.

3 votes

AU FAIT: Les outils Firebase permettent aux développeurs d'accéder à tous les événements Google Cloud. Le SDK "firebase-functions" et Firebase CLI travaillent ensemble pour permettre aux développeurs de gérer un ensemble de fonctions avec une commande de déploiement simple - facile à démarrer, tout en ayant toujours un accès complet à la plateforme Google Cloud lorsque vous en avez besoin.

1 votes

N'est-ce pas que les tarifs sont différents, cependant ? Utiliser les fonctions de Google Cloud Platform en dehors du contexte Firebase me donne droit à 5 Go de données sortantes chaque mois gratuitement. Appeler des fonctions GCP depuis le contexte Firebase interdit l'accès aux services non-google au niveau gratuit. L'accès au réseau extérieur est autorisé au niveau de 25 $, ou au niveau Blaze (paiement à l'utilisation), mais même au niveau Blaze, vous êtes facturé 40 cents par million d'appels de fonction, mais par le biais de GCP, vos 2 premiers millions d'invocations sont gratuits, puis coûtent 0,40 centimes par million.

1 votes

Ils s'exécutent sur la même infrastructure exacte, donc il ne peut y avoir aucune différence dans la façon dont ils sont exécutés. Sur le plan Blaze, il y a la même allocation gratuite. À partir de la page de tarification : "Sur le plan Blaze, Cloud Functions propose un niveau gratuit perpétuel. Les 2 000 000 premières invocations, 400 000 secondes Go de CPU, 200 000 secondes de processeur et 5 Go de trafic de sortie Internet sont fournis gratuitement chaque mois. Vous n'êtes facturé que pour l'utilisation au-delà de cette allocation gratuite."

13voto

Alexei Masterov Points 137

Il y a une différence supplémentaire : les fonctions Firebase ne peuvent être implémentées qu'en JS ou Node.JS, tandis que les fonctions Cloud permettent également l'utilisation de Python et Go.

Il y a aussi une petite différence en termes de tarification, si vous êtes sur le plan Spark. Consultez ceci https://firebase.google.com/pricing vs. https://cloud.google.com/functions/pricing si vous êtes sur le plan Blaze, la tarification est la même.

Je me trouve à utiliser les deux pour mon projet Firebase.

8voto

Ron Royston Points 5179

Google Cloud Platform, GCP, a un article qui aborde cette question, Google Cloud Functions et Firebase.

Google Cloud Functions et Firebase

Google Cloud Functions est la solution de calcul serverless de Google pour créer des applications déclenchées par des événements. Il s'agit d'un produit commun entre l'équipe de Google Cloud Platform et l'équipe de Firebase.

Pour les développeurs de Google Cloud Platform, Cloud Functions servent de couche connective permettant d'entrelacer la logique entre les services Google Cloud Platform (GCP) en écoutant et en répondant aux événements.

Pour les développeurs Firebase, Cloud Functions for Firebase offre un moyen d'étendre le comportement de Firebase et d'intégrer des fonctionnalités Firebase grâce à l'ajout de code côté serveur.

Les deux solutions offrent une exécution rapide et fiable des fonctions dans un environnement entièrement géré où vous n'avez pas à vous soucier de gérer des serveurs ou de provisionner une infrastructure.

...

Cloud Functions for Firebase est optimisé pour les développeurs Firebase :

  • SDK Firebase pour configurer vos fonctions à travers du code
  • Intégré avec Firebase Console et Firebase CLI
  • Les mêmes déclencheurs que Google Cloud Functions, ainsi que les déclencheurs Firebase Realtime Database, Firebase Authentication et Firebase Analytics

5voto

Ali80 Points 146

Vidéo officielle de Google décrivant la différence : GCP vs. Firebase - Fonctions & Firestore

  1. Firebase vous offrira la possibilité d'encapsuler vos fonctions dans des fonctions appelables qui peuvent être invoquées via le SDK Firebase
  2. prise en charge des langues, GCP prend également en charge Go, Python et Java
  3. GCP peut être déployé via la console ou CLI, mais les fonctions Firebase uniquement via CLI

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X