73 votes

Ruby On Rails est-il prêt pour l'entreprise ?

Quelqu'un utilise-t-il le RoR pour des applications d'entreprise à grande échelle et critiques ?

Existe-t-il d'autres cadres Web légers basés sur des langages dynamiques que les gens utilisent pour ce type d'applications ?

Si vous n'utilisez pas ces types de cadres d'application, qu'est-ce qui vous en empêche ? Est-ce simplement l'inertie associée à toute grande organisation informatique ? Les problèmes de vitesse et de stabilité de ces frameworks sont-ils suffisants pour compenser l'amélioration des cycles de développement ?

126voto

John Topley Points 58789

Pour savoir si Ruby on Rails est prêt pour l'entreprise, il faut réfléchir à ce que signifie le terme "entreprise". D'après mon expérience, entreprise signifie "sûr". Les entreprises qui recherchent une solution d'entreprise choisissent généralement une pile technologique soutenue par de grands fournisseurs. Elles savent ainsi qu'elles pourront bénéficier d'une assistance et probablement de conseils en échange de grosses sommes d'argent. C'est l'approche "personne n'a jamais été licencié pour avoir acheté IBM".

Un autre facteur à prendre en compte est l'ubiquité. Il ne fait aucun doute qu'à l'heure actuelle, Ruby est encore considéré comme un langage quelque peu exotique, ce que reflète la disponibilité de programmeurs Ruby qualifiés. Techniquement, Ruby es plus sophistiqué que Java ou C#, étant plus proche de Smalltalk en termes de pureté OO et plus proche de LISP en termes de facilités de méta-programmation. Il suffit de dire que les entreprises trouveront plus facilement des programmeurs Java ou .NET à bas prix chez les carrossiers que des programmeurs Ruby. Il ne s'agit pas d'insulter les programmeurs Java ou .NET, mais plutôt de refléter le fait que de nombreux employeurs considèrent encore le développement de logiciels comme quelque chose qui doit être fait par le soumissionnaire le moins cher, plutôt que quelque chose qui doit être fait correctement. Les programmeurs Java et .NET sont désormais des produits de base et peuvent donc être proposés à moindre coût.

Techniquement, Ruby on Rails peut évoluer tout aussi bien que Java, .NET ou PHP, etc. Les mêmes principes de base s'appliquent : mesurer les goulots d'étranglement, ajuster les requêtes SQL, minimiser les E/S, dénormaliser le schéma de la base de données si nécessaire et utiliser judicieusement la mise en cache, etc. Si vous avez besoin de créer le prochain eBay ou Amazon, vous devez développer et régler à la main votre propre solution, tout comme eBay et Amazon l'ont fait. J2EE a un avantage sur l'intégration des applications existantes, mais ce n'est pas le cas d'utilisation pour lequel Rails est optimisé de toute façon - Rails a pour but de créer de nouvelles applications CRUD.

Il ne fait aucun doute qu'en l'état actuel des choses, Ruby est l'un des langages les moins performants ; de nombreux investissements sont réalisés dans ce domaine, et il faut donc s'attendre à ce que la situation s'améliore au cours des prochaines années, comme cela a été le cas pour Java depuis sa sortie. De nombreux développements intéressants ont lieu dans le domaine des VM Ruby et des alternatives au MRI (Matz Ruby Interpreter). Personnellement, je pense que JRuby est à surveiller. Il est soutenu par Sun (allez savoir pourquoi) et, comme il s'agit d'une implémentation Java de Ruby, c'est un joli cheval de Troie que vous pouvez utiliser pour introduire Ruby dans votre entreprise, via son infrastructure JVM existante.

Je ne pense pas que Rails soit encore prêt pour l'entreprise et, à bien des égards, j'espère qu'il ne le sera jamais. Je n'ai pas particulièrement envie de voir mon framework favori s'enliser dans la médiocrité ou la confusion des choix multi-fournisseurs, comme cela a été le cas dans le monde J2EE. Heureusement, DHH semble déterminé à ce que Rails continue à être un logiciel d'opinion pour gratter sa propre démangeaison, plutôt que d'essayer d'être tout pour toutes les entreprises.

25voto

Je pense que beaucoup de gens ne savent pas ce que le mot "entreprise" signifie vraiment. YelloPages.com et Penny Arcade ne sont pas des applications d'entreprise. Bien sûr, elles peuvent avoir des volumes élevés d'utilisateurs et de hits/minute, mais ce sont des applications relativement simples.

Une application d'entreprise est une application utilisée pour gérer une entreprise, c'est-à-dire généralement une grande société multi-départementale et multi-sites. SAP est un système d'entreprise, BaseCamp ne l'est pas.

Voici quelques-unes des caractéristiques que l'on retrouve généralement dans les applications d'entreprise :

  • Ils sont grands et complexes. Un système ERP typique doit traiter des centaines de types d'entités.
  • Ils doivent souvent s'intégrer à d'autres systèmes et doivent fournir des points d'intégration pour les tiers.
  • Ils ont un grand nombre de types d'utilisateurs et de rôles différents, qui reflètent en grande partie les différents types d'emplois dans une grande organisation.

Pour répondre à votre question, je dirais que oui, Rails est prêt. Nous développons actuellement un grand système de gestion financière pour une entreprise de plus de 1000 utilisateurs traversant 20 départements. L'évolutivité n'est pas un gros problème pour nous, mais la fiabilité et la disponibilité le sont. La résolution de ce problème est la même quelle que soit la pile technologique.

Je répète ce que d'autres ont dit à propos des développeurs qualifiés, mais cela s'applique à n'importe quelle pile technologique. Il peut être acceptable qu'un développeur moyen travaille sur un petit système non critique, mais si vous voulez sérieusement développer une application critique à l'échelle de l'entreprise, il est préférable de faire travailler vos meilleurs éléments.

12voto

McGovernTheory Points 2396

Comme mon travail de tous les jours porte sur l'architecture d'entreprise, je pense que le mot entreprise n'est pas aujourd'hui une question de taille ou d'échelle, mais fait plutôt référence à la manière dont un produit logiciel est vendu.

Par exemple, Ruby on Rails n'est pas une solution d'entreprise, car il n'y a pas de vendeur qui vienne dans votre magasin et fasse des présentations Powerpoint à répétition pour la communauté des développeurs. Ruby on Rails n'a pas de responsable commercial qui m'emmène sur le terrain de golf ou dans mon restaurant préféré pour le déjeuner. Ruby on Rails n'est pas non plus très bien couvert par les cabinets d'analystes industriels tels que Gartner.

Ruby on Rails ne sera jamais considéré comme une "entreprise" tant que ces choses ne se produiront pas...

11voto

Kyle Boon Points 2452

Je travaille comme consultant chez IBM et j'ai créé plusieurs sites Web pour des clients en utilisant Ruby on Rails l'année dernière. Rails est sans aucun doute "prêt pour l'entreprise". La clé est d'utiliser Rails pour ce à quoi il excelle, et d'utiliser J2EE ou d'autres "outils d'entreprise" là où ils excellent. Rails est excellent pour la présentation de toute application. Vous pouvez consommer des services web RESTful sans pratiquement aucun travail, et c'est un excellent point d'intégration au reste de vos outils "d'entreprise".

Je n'utiliserais peut-être pas des rails pour construire yahoo.com, mais ce n'est pas grave. Il existe des centaines et des milliers de niches parfaites où vous pouvez utiliser rails, de l'entreprise au plus petit des ateliers informatiques.

10voto

Jörg W Mittag Points 153275

IBM, Oracle, Sun et JPMorgan Chase ne sont que quelques-unes des entreprises qui utilisent Ruby on Rails. Il n'y a probablement pas plus d'entreprises que ça.

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