27 votes

La pile LAMP est-elle adaptée à une utilisation en entreprise ?

La pile LAMP (Linux, Apache, MySQL, PHP / Ruby / Python) est-elle adaptée à une utilisation en entreprise ?

Pour être clair, par "entreprise", j'entends une grande ou très grande société, où la sécurité, la robustesse, la disponibilité des compétences, le coût total de possession (TCO), l'évolutivité et la disponibilité des outils sont des considérations essentielles. En d'autres termes, une entreprise qui recherche l'adoption externe de cadres / d'architectures - Quelque chose d'omniprésent sera considéré comme plus "valable" que quelque chose d'exotique / d'ésotérique dans ce type d'environnement.

J'ai vu des cas d'utilisation où Oracle, IBM et Sun ont mis en œuvre des systèmes sur la pile LAMP pour diverses entreprises. J'ai également vu des exemples de sites Web comme yellowpages.com (Ruby on rails) et Facebook (php) construits sur cette pile. Cependant, aucun de ces exemples ne correspond exactement à ce que je recherche.

J'essaie vraiment de trouver des exemples où il s'agit d'un standard d'entreprise dans une très grande banque (par exemple, Citigroup), une société de télécommunications (par exemple, AT&T) ou un fabricant (par exemple, Proctor and Gamble). Pour être clair, je ne cherche pas un exemple où il est utilisé dans un sens limité (comme chez JPMorgan Chase), mais où il s'agit d'une plateforme centrale pour des systèmes comme le CRM, les systèmes de fabrication ou la gestion des RH, ainsi que pour les sites Web internes et externes.

La perception que j'ai eue jusqu'à présent est que les applications construites sur la pile LAMP sont plus lentes et moins flexibles. Voici quelques-uns des arguments que j'ai entendus :

  • Linux est considéré comme n'étant pas aussi bien supporté qu'Unix, Solaris ou les serveurs Windows.

  • Apache est plus difficile à configurer et à maintenir que des serveurs web comme BEA WebLogic ou IIS.

  • MySQL est une base de données "pas prête pour le prime time" pour les amateurs, et non un concurrent de SQL Server ou d'Oracle (bien que PostgreSQL semble avoir la réputation d'être plus robuste).

  • PHP / Ruby on rails sont optimisés pour les opérations CRUD (Create, Read, Update and Delete). Bien qu'il s'agisse d'un avantage pour la création d'applications Web à forte intensité CRUD, ces deux technologies sont plus lentes que Java/Java EE ou C# (qui sont tous deux des normes d'entreprise courantes). En outre, un grand nombre d'applications et de systèmes (comme les systèmes de fabrication) comportent beaucoup de fonctionnalités non CRUD qui peuvent être plus difficiles à réaliser avec PHP ou Ruby, voire Python.

Quelqu'un peut-il fournir des arguments pour soutenir ou réfuter l'idée que la pile LAMP est appropriée pour l'entreprise ?

Gracias.

KA

UPDATE : Dans certains cas, la pile LAMP est appropriée pour une utilisation en entreprise : Blogs orientés vers l'extérieur

22voto

S.Lott Points 207588

"mais où il s'agit d'une plateforme centrale pour des systèmes tels que la CRM et les RH, ainsi que pour les sites web internes et externes"

Tout d'abord, trouvez une application CRM ou RH LAMP.

Trouvez ensuite un client pour l'application CRM ou RH LAMP.

Malheureusement, il n'y a pas beaucoup d'exemples du point 1. Par conséquent, votre cas est prouvé. Il ne peut pas être utilisé pour les applications d'entreprise parce que -- actuellement -- il n'y a aucune des applications que vous appelez "entreprise".

Vos autres points, cependant, sont très intéressants.

  1. Linux est considéré comme n'étant pas aussi bien supporté qu'Unix, Solaris ou les serveurs Windows. . Je pense que Red Hat s'opposerait fortement à cela. Appelez-les. Je pense qu'ils feront un discours de vente très persuasif. Lisez leur exemples de réussite .

  2. Apache est plus difficile à configurer et à maintenir que les serveurs web comme BEA WebLogic ou IIS. . Par qui ? Les gestionnaires de sites Web Apache ? Ou les gestionnaires de sites Web IIS ? Cette question est entièrement subjective.

  3. MySQL est une BD "pas prête pour le prime time". . Voyez ça avec Sun Microsystems. Je pense qu'ils s'y opposeraient fermement. Appelez-les. Je pense qu'ils vous feront un argumentaire de vente très convaincant. Lisez leur exemples de réussite .

  4. PHP / Ruby on rails sont optimisés pour le CRUD, et les deux sont peu performants. . Cela pourrait être vrai. Java et Python pourraient être plus rapides. PHP et Ruby ne sont pas le dernier cri en matière de LAMP.

14voto

EBGreen Points 14478

Google, Yahoo et de nombreuses autres entreprises pensent que c'est une bonne solution.

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=263611&pageNumber=2

10voto

Orion Edwards Points 54939

Quelque chose d'omniprésent sera considéré comme plus "valable" que quelque chose d'exotique/ésotérique dans ce type d'environnement.

Bien que je ne recommande pas personnellement PHP en raison des nombreux défauts de ce langage, il est très certainement omniprésent. Avec l'avènement de phusion passenger, le support de Rails parmi les sociétés d'hébergement partagé se développe assez rapidement aussi. Je pense qu'il faudra encore un an ou deux au maximum avant que plus de 90 % des comptes d'hébergement partagé prennent en charge Rails. Si ce n'est pas omniprésent, qu'est-ce que c'est ?

Linux est considéré comme n'étant pas aussi bien supporté qu'Unix, Solaris ou les serveurs Windows.

Si cela vous dérange, achetez du support auprès de RedHat, ou installez Solaris et achetez du support auprès de Sun. Dans les deux cas, vous obtiendrez un support aussi bon que celui que Microsoft est susceptible de vous offrir.

Apache est plus difficile à configurer et à maintenir que des serveurs web comme BEA WebLogic ou IIS.

Je ne peux pas parler pour BEA WebLogic, mais ayant configuré à la fois Apache, IIS et Tomcat, Apache est le plus facile à comprendre et à trouver des exemples et de la documentation. de très loin.

MySQL est une BD "pas prête pour le prime time" pour les amateurs, et non un concurrent de SQL Server ou d'Oracle.

Oh vraiment ? . Vous devriez vous donner pour mission de dire à la NASA, à Google, au CERN, à Reuters, etc., qu'ils utilisent tous une base de données pour amateurs qui n'est pas prête pour l'heure de pointe.

PHP / Ruby on rails sont optimisés pour le CRUD, et sont tous deux plus lents que Java/Java EE ou C# (qui sont tous deux des normes d'entreprise courantes).

Il y a 2 choses ici :

Optimisé pour CRUD - Ceci est totalement hors de propos.
Rails et certains des frameworks python/php sont optimisés pour les applications CRUD. La plupart des frameworks C#/Java sont également optimisés pour les applications CRUD. Cependant, si l'application que vous construisez est une application CRUD (et 99% des applications web le sont), n'est-ce pas une bonne chose ?
Si vous ne construisez pas une application CRUD, il existe de nombreux frameworks non optimisés pour le CRUD en ruby/python/php/java/C#. Net gagne : Personne (c'est donc sans intérêt)

Performer plus lentement que Java/C# - C'est sans doute vrai, mais cela n'a pas non plus d'importance. Pour un site à faible trafic, la différence de performance n'aura aucune importance, et pour un site à fort trafic, votre goulot d'étranglement sera la base de données, qu'il s'agisse de MySQL, oracle ou autre.

La contrepartie de tout cela, c'est le temps de développement. Une fois que vous avez utilisé tous ces conseils pour convaincre votre patron que vous ne le fera pas Si vous faites le calcul et que vous leur montrez qu'il faudra 6 hommes-mois pour construire le site en Java, et seulement 3 pour le construire en ruby/python, alors c'est vraiment ce dont il s'agit.

8voto

lo_fye Points 4422

Si vous engagez des idiots pour le mettre en œuvre, C++ et Oracle ne parviendront pas à s'adapter. Si vous engagez des personnes intelligentes et capables de faire avancer les choses, PHP et MySQL s'adapteront parfaitement.

Le même argument vaut pour la sécurité et la robustesse.

Facebook, Digg, certaines parties de Yahoo fonctionnent avec PHP. Bien sûr, ils engagent beaucoup de programmeurs titulaires d'un doctorat.

6voto

Perpetualcoder Points 7381

Je pense que le premier critère devrait être le niveau de compétence de votre équipe, son niveau de confort, juste pour s'assurer que la plateforme choisie fonctionne bien avec eux. Quelle que soit votre décision, pensez à l'évolutivité et à la maintenabilité de votre code. Les outils sont géniaux, quelle que soit la pile que vous choisissez.

Personnellement, je le décomposerais en 3 piles-

  1. La pile Java où vous avez Solaris ou Enterprise Linux comme (RedHat) avec Weblogic/Websphere/Tomcat etc. et Java Enterprise avec les technologies Hibernate, Spring etc. La plupart optent pour Oracle comme base de données.

  2. La pile Microsoft avec un peu d'Open Source si nécessaire Win Server - IIS - .net/C# (ASP.net etc) - NHibernate, NUnit (tests unitaires) etc. Le plus souvent, vous voudrez utiliser SQL Server comme base de données.

  3. Aucune de ces solutions n'est compatible avec Enterprise Linux, qui fait tourner tout un buffet de logiciels libres tels que MySQL (qui est maintenant sous le contrôle de Sun et peut donc être examiné sérieusement), Apache (il y a des gourous de l'Apache), Ruby (ce n'est pas mon choix personnel)/ PHP (bonne chance) / Python (je l'aime parce que c'est un langage mature). Je préconiserais Python ou Ruby du point de vue de la gestion du code. Peut-être que pour certains, cela pourrait être PHP je ne suis pas dans ce cas.

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