CloudFoundry: Java, Ruby ou Node.js?


Il m'est arrivé de connaître le nouveau projet CloudFoundry de VMware

Si je veux déployer une application sur CloudFoundry.com, quelle langue est le meilleur choix?

Tout comme Google App Engine, évidemment, Python est le plus mature tandis que Go est le plus inmature.

Que diriez-vous de CloudFoundry?

Le logiciel open source CloudFoundry est écrit en Ruby, mais la publicité met toujours Java avant Ruby. comme " Exécutez votre ressort, Rails, Nœud.js et Scala application. "Voir l'image ci-dessous: entrez la description de l'image ici

Cela signifie-t-il que le support de Java est meilleur que Ruby?

Author: DocWiki, 2011-10-03

5 answers

Je pense que vous lisez trop sur les choses concernant l'ordre des langues. Comme la plupart des autres questions demandant "quelle langue dois-je choisir", la réponse a plus à voir avec le type d'application que vous construisez et la quantité d'expertise que vous avez dans les différentes langues que quelle langue est "la meilleure."

 5
Author: Michelle Tilley, 2011-10-03 22:08:27

En tant qu'ancien membre de l'équipe App Engine, maintenant membre de l'équipe Cloud Foundry, je suis d'accord avec Andrew: utilisez le langage et le framework que vous préférez, le meilleur outil pour le travail, Cloud Foundry les traite tous de la même manière.

L'équipe App Engine doit créer des liaisons spécifiques au langage pour les services Google sous-jacents, et généralement faire Python d'abord, puis Java, puis Go, de sorte que vous avez un décalage entre le moment où une fonctionnalité est introduite en Python, et le moment où elle coule vers les autres langues (bien qu'elle ait obtenu beaucoup mieux récemment que le produit mûrit).

Cloud Foundry expose les services aux différents langages/frameworks en utilisant les interfaces de service existantes de ces frameworks, il automatise simplement le provisionnement et la liaison des services (les paramètres de connexion/configuration ne sont plus codés en dur dans un fichier de propriétés, ils sont fournis par Cloud Foundry lors de l'exécution, d'une manière spécifique au framework). Par exemple, lorsque RabbitMQ a été introduit dans Cloud Foundry, nous n'avions pas besoin de créer une nouvelle API pour service dans chaque langue, nous exploitons simplement les bibliothèques clientes AMPQ existantes pour chaque langue / framework.

 3
Author: Patrick Chanezon, 2011-10-17 14:38:36

La comparaison avec GAE n'est pas appropriée ici. L'une des différences entre GAE et CF est que dans CF, il n'y a pas d'API spécifiques à utiliser. Si vous écrivez une application RoR, il vous suffit d'écrire l'application et la déployer. Même chose si vous écrivez une application Spring ou Grails.

Ma compréhension est qu'avec les intégrations de base fournies et maintenues par VMware, elles sont censées être traitées de manière égale. Bien sûr, CF est toujours en version bêta et les différences de niveaux de support entre les plates-formes il peut exister, mais c'est probablement un bug, et non une fonction.

Donc, je pense que Brandon Tilley a largement raison en ce sens que vous devriez penser à la langue/plate-forme la plus appropriée pour votre application, plutôt qu'à ce qui est approprié pour CF.

 1
Author: Andrew Eisenberg, 2011-10-05 05:21:53

Cela ne va vraiment pas avoir d'importance, utilisez ce que vous connaissez. La clé de l'application sera l'architecture que vous configurez, pas vraiment la langue ou la pile que vous utilisez sur le dessus.

Alors bien sûr, l'autre réponse est toujours ce que la plupart des réponses ouvertes aboutissent, " cela dépend!" :)

 0
Author: Adron, 2011-12-31 05:40:33

Je pense que Java et Spring seraient le meilleur choix. Je le ferais avant Ruby ou node.js. Spring Source a été acheté par VMware il y a quelque temps (il y a un an? deux ans?), donc c'est logique.

 -1
Author: duffymo, 2011-10-03 18:08:19