89 votes

Quand choisir App Engine sur les fonctions cloud?

Désolé, si c'est une question naïve, mais j'ai vu des tas de discussions à partir de google est personnel et ne comprends toujours pas pourquoi sur la terre, je voudrais utiliser AE au lieu de CF?

Si j'ai bien compris, le concept de ces deux services est à construire "microservice architecture".

  • les deux CF et AE sont apatrides
  • les deux supposons à exécuter au cours de la période de temps limitée
  • les deux peuvent interagir avec la bd et d'autres bpc api.

Cependant, l'AE doit être enveloppée dans de la propre serveur. Fondamentalement, il utilise beaucoup de difficultés sur le dessus des mêmes capacités que la MUCOVISCIDOSE. Donc, quand dois-je utiliser à la place de la MUCOVISCIDOSE?

100voto

Dan Cornilescu Points 5018

Nuage de Fonctions (CFs) et Google App Engine (GAE) sont des outils différents pour différents emplois. Utiliser le bon outil pour le travail est généralement une bonne idée.

La conduite d'un ongle à l'aide des pinces peut - être possible, mais il ne sera pas aussi pratique que l'aide d'un marteau. De même, la construction d'un complexe app à l'aide de la Sfc pourrait être possible, mais de les construire à l'aide de GAE serait certainement plus pratique.

Les sadc ont plusieurs inconvénients par rapport à la FGA (dans le contexte de la construction d'applications plus complexes, bien sûr):

  • ils sont limités à l' Node.JS, Python, et s'en Aller. GAE prend en charge plusieurs langages de programmation les plus populaires
  • ils sont vraiment conçus pour léger, autonome morceaux de fonctionnalité, de tenter de construire des applications complexes à l'aide de ces composants devient rapidement "maladroite". Oui, l'inter-relation de contexte pour chaque demande individuelle doit être restaurée sur GAE, à seulement GAE bénéficie de plus facile à faire qui ne sont pas disponibles sur Sfc. Par exemple l'utilisateur de gestion de session, comme indiqué dans d'autres commentaires
  • GAE applications ont une application de contexte qui survit à travers les demandes individuelles, les Sadc n'ont pas que. Un tel contexte rend l'accès à certains services de Google plus efficace/performant (ou même du simple possible) pour GAE applications, mais pas pour le Sfc. Par exemple memcached.
  • la disponibilité de l'application de contexte pour GAE applications peut prendre en charge plus efficace/puissant client bibliothèques pour d'autres services qui ne peuvent pas fonctionner sur Sfc. Par exemple, l'accès à la banque de données à l'aide de l' ndb de la bibliothèque du client (uniquement disponible pour la norme env GAE applis python) peut être plus efficace/performant que d'utiliser le générique de la banque de données de la bibliothèque du client.
  • GAE peut être plus rentable que c'est "en gros" prix (basé sur les heures d'instance, quel que soit le nombre de demandes que d'un exemple particulier sert) comparé à un "détail" de la tarification de la Sfc (où chaque appel est facturé séparément)
  • le temps de réponse pourrait être généralement plus courts pour GAE d'applications que de la Sfc, puisque l'instance de l'application du traitement de la demande est déjà en cours d'exécution, ainsi:
    • le GAE application de contexte n'a pas besoin d'être chargé/restauré, il est déjà disponible, les Sadc ont besoin de charger/restaurer
    • le code de gestion est (la plupart du temps déjà chargé, Sfc' code doit toujours être chargé. Pas sûr à ce sujet, tho, je suppose que ça dépend de l'implémentation sous-jacente.

29voto

Cameron Roberts Points 4256

App Engine est mieux adapté pour les applications, qui ont de nombreux morceaux de fonctionnalité se comporter dans diverses inter-reliés (ou même sans rapport avec) des moyens, tandis que cloud fonctions sont plus spécifiquement but unique de fonctions qui répondent à certains événements et d'effectuer une action spécifique.

App Engine offre de nombreux choix de la langue, et plus d'options de gestion, tandis que le cloud fonctions sont limitées dans ces domaines.

Vous pouvez facilement reproduire Cloud Fonctions sur App Engine, mais la réplication d'une grande échelle, application App Engine à l'aide d'un tas de discrètes Pourrait Fonctions serait compliquée. Par exemple, le backend de Spotify est d'Application basé sur le Moteur.

Une autre façon de mettre c'est que, pour une part importante de l'application, à commencer par un système plus complexe comme App Engine peut conduire à un code qui est moins complexe, ou au moins, plus facile à gérer ou à comprendre.

En fin de compte ces deux fonctionnent sur la même infrastructure sous-jacente à Google, et il est à vous de décider ce qui fonctionne pour la tâche à portée de main. En outre, Il n'y a rien qui vous empêche d'éléments de mélange des deux dans un seul projet.

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