LAMP yığın Kurumsal kullanım için uygun mudur?

22 Cevap php

LAMP (Linux, Apache, MySQL, PHP / Ruby / Python) yığın Kurumsal kullanım için uygun mudur?

"İşletme" ile, net olmak gerekirse, ben güvenlik, sağlamlık, beceri setleri, (TCO) Toplam Maliyet, ölçeklenebilirlik ve araçların durumu kullanılabilirliği önemli hususlar vardır, bir büyük ya da çok büyük bir şirket demek. Her yerde çevre bu tür ezoterik / egzotik bir şey daha "geçerli" olarak görülecektir Something - Başka bir yol, çerçeveler / mimari dış benimsenmesi arar bir şirket dedi.

Oracle, IBM ve Sun çeşitli Şirketler için LAMP yığınında sistemlerini hayata geçirdik kullanım durumları gördüm. Ben de yellowpages.com (raylar üzerinde Ruby) ve Facebook (php) gibi web siteleri üzerine inşa edilmiş örneklerini gördüm. Ancak, bu örneklerin hiçbiri benim aradığım tam olarak ne olduğunu.

Ben gerçekten çok büyük bir banka (Yani, Citigroup), Telecom şirketi (Yani, AT & T), ya da üretici (Yani, Proctor and Gamble) bir Kurumsal standart örnekler bulmak için çalışıyorum. Sadece temiz olması için, ben (JPMorgan Chase gibi) sınırlı bir anlamda kullanılan bir örnek aramıyorum, ama CRM gibi sistemlerin, üretim sistemleri, ya da İK yönetimi için temel bir platform nerede, yanı sıra iç için ve harici web siteleri.

Şimdiye kadar gördüğüm algı LAMP yığınının üzerine inşa uygulamalar yavaş gerçekleştirmek ve daha az esnek olmasıdır. Ben duydum argümanları bazıları şunlardır:

  • Linux de Unix, Solaris, ya da Windows Sunucular olarak desteklenmez olarak görülüyor.

  • Apache BEA WebLogic veya IIS gibi web sunucuları daha yapılandırmak ve korumak zordur.

  • (PostgreSQL daha sağlam olduğu için bir üne sahip görünüyor olsa da) MySQL meraklıları için DB bir "prime time için hazır değil", ve SQL Server veya Oracle için değil, bir rakip.

  • Raylar üzerinde PHP / Ruby (, okuma, güncelleştirme oluşturma ve Silme işlemleri) CRUD için optimize edilmiştir. CRUD-yoğun web uygulamalarını oluştururken bu bir avantaj olsa da, hem Java / Java EE daha yavaş veya C # (iki ortak Kurumsal standartları olan) gerçekleştirin. Ayrıca, uygulamalar ve (imalat sistemleri gibi) sistemleri bir sürü PHP ya da Ruby, hatta Python ile inşa etmek zor olabilir non-CRUD işlevselliği bir şey var.

Herkes LAMP yığın Enterprise için uygun olma fikrini desteklemek ya da çürütmek için argümanlar verir misiniz?

Teşekkürler!

KA

GÜNCELLEME: Some times the LAMP Stack is Appropriate for Enterprise Use: Externally-Facing Blogs

22 Cevap

"Ama CRM ve İK gibi sistemler için bir temel platform, yanı sıra iç ve dış web siteleri için burada"

İlk olarak, bir lamba CRM veya İK uygulama bulabilirsiniz.

Sonra LAMP CRM veya İK uygulaması için bir müşteri bulmak.

Ne yazık ki, madde 1 örnekleri bir sürü değildir. Nedenle, dava kanıtlanmıştır. Şu anda - - Sen "kurumsal" dediğimiz uygulamalar herhangi yok çünkü kurumsal uygulamalar için kullanılamaz.

Diğer noktaları, ancak çok ilginç.

  1. Linux is seen as not as well supported as Unix, Solaris, or Windows Servers. Red Hat, bu şiddetle itiraz düşünüyorum. Onlara bir çağrı verin. Ben çok ikna edici bir satış sahası yapacağız düşünüyorum. Oku bunların success stories.

  2. Apache is harder to configure and maintain than web servers like BEA WebLogic or IIS. Kim tarafından? Apache web sitesi yöneticileri? Veya IIS web sitesi yöneticileri? Bu tamamen özneldir.

  3. MySQL is a "not ready for prime time" DB. Sun Microsystems ile o kadar sürebilir. Ben bu kadar şiddetle itiraz düşünüyorum. Onlara bir çağrı verin. Ben çok ikna edici bir satış sahası yapacağız düşünüyorum. Oku bunların success stories.

  4. PHP / Ruby on rails are optimized for CRUD, and both are slowly performing. Doğru olabilir. Java ve Python daha hızlı olabilir. PHP ve Ruby LAMP son sözü değildir.

Google, Yahoo, ve diğer birçok şirket iyi bir çözüm olduğunu düşünüyorum.

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

Her yerde bir şey çevre bu tür ezoterik / egzotik bir şey daha "geçerli" olarak görülecektir.

Şahsen nedeniyle dilde birçok kusurları PHP tavsiye etmem rağmen, bu kesinlikle her yerde bulunuyor. Phusion yolcu ile birlikte, Rayları paylaşılan hosting şirketleri arasında destek de oldukça hızlı bir şekilde büyüyor. Ben paylaşılan barındırma 90 +% önce en başka bir yıl veya 2 vermek kutudan destek raylarını hesapları. Bu her yerde değilse, nedir?

Linux de Unix, Solaris, ya da Windows Sunucular olarak desteklenmez olarak görülüyor.

Bu sizi rahatsız ediyorsa, RedHat destek satın almak, ya da yüklemek Solaris ve Sun destek satın. Microsoft, muhtemelen gibi bu ikisi de size sadece iyi destek verecek

Apache BEA WebLogic veya IIS gibi web sunucuları daha yapılandırmak ve korumak zordur.

Ben BEA WebLogic için konuşamıyor, ancak her iki Apache, IIS ve Tomcat yapılandırılmış olan, Apache de anlamak için, ve by a long way. için örnek ve belgeleri bulmak için kolay bir

MySQL hobi için DB bir "prime time için hazır değil", ve SQL Server veya Oracle için değil, bir rakip.

Oh really?. Eğer hepsi prime-time için hazır değil bir hobi veritabanı kullanarak olduğunuzu NASA, Google, CERN, Reuters vb anlatmak için o misyonu yapmalıdır.

Raylar üzerinde PHP / Ruby CRUD için optimize edilmiş, hem de Java / Java EE daha yavaş veya C # (iki ortak Kurumsal standartları olan) gerçekleştirin.

2 şey var burada:

Optimized for CRUD - This is totally irrelevant.
Rails and some of the python/php frameworks are optimized for CRUD apps. Many of the C#/Java frameworks are also optimized for CRUD apps. However, if the app you're building is a CRUD app (and 99% of web applications are), isn't this a Good Thing?
If you're not building a CRUD app, there are plenty of non-crud-optimized frameworks in ruby/python/php/java/C#. Net win: Nobody (hence it's irrelevant)

Java / C # daha yavaş gerçekleştirin - Bu kuşkusuz doğrudur, ama o da önemli değil. Düşük trafik site için performans farkı şey miktarı gitmiyor ve bir yüksek trafik site için darboğaz da MySQL, Oracle, ya da ne olursa olsun, veritabanı olacaktır.

What you trade-off for all of this is development time. Once you've used all this advice to convince your boss that you won't lose out on anything by using LAMP, If you crunch the numbers and show your them that it is going to take 6 man-months to build the site in Java, and only 3 to build it in ruby/python then that's really what it comes down to.

If you hire idiots to implement it, C++ & Oracle will fail to scale. If you hire people who are smart and get things done, PHP & MySQL will scale just fine.

Aynı argüman güvenlik ve gider sağlamlık.

Facebook, Digg, portions of Yahoo run on PHP. Of course, they hire lots of PhD programmers.

Ben ilk kriter ekibinizin beceri düzeyi, emin ne hiç platformu kararlar onlarla iyi çalışır hale getirmek için çıkıntı konfor seviyesi olması gerektiğini düşünüyorum. Eğer kod ölçeklenebilirlik ve bakımı düşünüyorum karar ne olursa olsun. Araçlar olursa olsun seçtiğiniz ne yığın müthiş.

Ben şahsen 3 yığınlarının-içine yıkmak istiyorum

  1. Eğer Hibernate, Spring vb teknolojileri ile birlikte vb WebLogic / WebSphere / Tomcat ve Java Enterprise (RedHat) gibi Solaris veya Enterprise Linux sahip Java Stack. Çoğu DB Oracle için tercih olacaktır.

  2. Bazı Open Source ile Microsoft Yığını eğer gerekli Windows Server - IIS -. Net / C # (ASP.net vb) - NHibernate, NUnit (birim test) vb DB olarak SQL Server kullanmak isteyeyim Büyük olasılıkla

  3. Enterprise Linux MySQL gibi açık kaynak şeyler bir bütün büfe çalışan yukarıdaki yığının Yok (Sun'ın etki altında öylesine ciddiye baktı olabilir), Apache (orada apache uzmanları vardır), Ruby (benim kişisel bir seçimdir) / PHP (iyi şanslar) / Python (I like it onun olgun bir dil çünkü). Ben bakış yönetmek kod noktasından pitonu veya yakut savunacağını söyledi. Belki bazıları için PHP olabilir .. ben içine değilim.

Wikipedia - Sadece ben LAMP çalışacak olanların listesine başka bir web sitesi eklemek düşündüm. PHP tamamen yazılmış ve dünyanın yedinci en büyük web sitesi, MySQL kapalı çalışır, ve sadece iki ya da üç geliştiriciler ödemiş. Tabii ki, onlar gönüllü bazı yardım var, ama çok değil, ve sadece iyi ölçekli oluyor. Eğer gerçekten 'kurumsal' onları çağırır bilmiyorum, ama böyle büyük ve popüler bir web sitesi için kendileri için iyi yapmış görünmemektedir.

Linux is seen as not as well supported as Unix, Solaris, or Windows Servers.

Diğerleri Yukarıda söylediğimiz gibi, Red Hat bir çağrı vermek ve onlar farklı yalvarıyorum eminim. Ve absolutely free Linux için orada destek miktarı şaşırtıcıdır.

Apache is harder to configure and maintain than web servers like BEA WebLogic or IIS.

Yani soruyorsun kim bağlıdır. Genellikle IIS sunucularını yönetmek insanlar muhtemelen bu şekilde görmek olacaktır. Genellikle Apache olmaz yönetmek insanlar. Bu işe kim bağlıdır, ve yığın LAMP ise zaten hiçbir Apache deneyimi olan insanları işe olmak istemeyeceksiniz.

strictly a subjective opinion ama ben şahsen MySQL bulmak ve daha az bir ölçüde PHP için bir zayıflık biraz olabilir, ama kesinlikle LAMBASI gitti büyük şirketleri katılmıyorum ve insanların bol var.

Ben MySQL piyasa dışında postgres hatta SQLite almak parçalarını görmeyi tercih ediyorum ve ben mono veya daha fazla jsp veya koza tabanlı uygulamalar görmek istiyorum. Ben LAMBASI bir şemsiye terim için biraz çok özel sanırım. :)

Ben sadece onlar masaya getirmek ne argümanlar rağmen, o bile zor kurumsal entegrasyonu yapar bile, bazı çözüm için ciddi $ $ $ saçmak kez müşteriler, yalnızca kendinizi rahat hissetmeniz pek çok kez şahit oldum eklemek istiyorum.

Linux / Apache, sertleştirilmiş yalın ve her onlara üzerine inşa edilmiştir onlarla çalışmak ve yarar derece yüksek düzeylerde birçok kullanışlı araçları desteği, bol, sağlayacaktır (tabii doğru fiyat için) insanların bol gelir edilir .

Diğer ikisi hakkında emin değil ancak. Özellikle MySQL onların Güneş iyi bir etkisi olabileceğini düşündürmektedir Bu Konuya mesaj aykırı Sun tarafından satın alınmasından bu yana kötü bir garip hal almış gibi görünüyor:

http://www.reddit.com/r/programming/comments/7gb8j/oops_we_did_it_again_mysql_51_released_as_ga_with/

Onlar kurumsal düzeyde ama bence tamamen farklı bir şey değildir çünkü LAMP üzerine inşa Enterprise uygulamalar bulmak için değil bir sebep değildir. Büyük oyuncular bir çok LAMBASI veya benzeri kullanın - Facebook ve MySpace hemen akla geliyor. Yani onun açıkça bir sorun scale and perf.

Ben LAMP üzerinde inşa herhangi bir kurumsal uygulamalar var olmadığını bulmak nedeni kendi içsel açık doğası olduğunu söyledi. Ben kimsenin mantığı çalabilir çünkü bir PHP dosyası olarak aktüeryal modülü kurmak istemiyorum. Öte yandan ben bir DLL varsa ben kontrolünü muhafaza edebilirsiniz. Bu çok nedenle PHP üzerine inşa 30-deneme uygulamalar bir çok bulmuyorum ama diyelim ki ASP.NET ile koruma bu tür elde etmek çok daha kolaydır.

Siz ilanıyla bazı gerçek kötü mitler var:

JavaEE Myths: -App Servers easier to configure than apache, nope apache is easier. -You imply that only JavaEE full solution is enterprise, nope.

CRUD Myths: -CRUD is slower than JavaEE? WTF? POJO and EJB is using CRUD. The limiting factor is not crud, its server throughput

There are 3 limiting bottleneck areas no matter what technology even MS..server implementation, persistence layer, and app layer..the technology chosen is not the speed factor as you can exchange advantages in one layer for disadvantages in the other layer. Fro example we could spee dup Java by using document store instead of normal DB..

Çoğu yeni Rayları uygulamaları kendi özelliklerine bazı Symfony kullanımı gibi sadece yahoo ask .. hatta iyi tunned Apache sunucu yığınlarının bazı Javaee iyi performans olabilir .. 3 Apache daha 5 kat daha hızlı olmayan bir apache sunucularını kullanmak ..

IMO Linux ve Apache karşı iyi bir genel argümanlar vardır; (Eğer toplumun kurallarına göre oynamak için istekli iseniz ücretsiz ve bunun iyi bir yaklaşım) bunun için ödemeye hazır iseniz kesinlikle Linux için kurumsal düzeyde destek alabilirsiniz. Ve Apache bir uygulama sunucusu olası onun daha karmaşık özelliklerini, ihtiyaç olmadıkça yapılandırmak için o kadar da zor değildir.

Kesinlikle veri güvenliği açısından en önemli özelliklerinden bazıları yalnızca son zamanlarda eklenen beri MySQL dava yapabilirsiniz. Bu konuda endişeleriniz varsa, bunun yerine PostgreSQL kullanmak.

PHP kesinlikle son derece büyük ve karmaşık sistemleri çalıştırmak mümkün olduğu kanıtlanmıştır;: dilin gelince size app yazmak Ben performansı daha Düzeltilebilirlik hakkında daha fazla endişe olurdu. Ve Ruby on Rails basit CRUD webapp neredeyse hiçbir zaman (tam anlamıyla dakika) yazılmış olabilir gibi sadece asmuch "CRUD için optimize" olduğunu, ancak bu alacak sadece, bu şekilde daha karmaşık uygulamalar için daha uygun olduğu anlamına gelmez daha fazla zaman (diğer pek çok dil ile hala daha az)

Seni çok işletmelerin çoğu Redhat, Novell veya IBM tarafından desteklenen Linux sunucularını kullanmak bulacaksınız düşünüyorum, ve Apache de yaygın olarak kullanılır söyledi.

Gerçekten bu sistemlerin sağladığı güç tür gerekmez ve MySQL veya PostgreSQL paçayı verebilecek pek çok işletme olmasına rağmen - ama birçok işletmeler Oracle veya yerine açık kaynak teklifleri IBM DB2 gibi veritabanlarını kullanma eğiliminde.

Ve web sunucusu dili için, sana bir şey hakkında sadece kullanabilirsiniz düşünüyorum. Apache kullanıyorsanız IIS veya Weblogic veya Domino kullanmak eğer Java / C # bunu yapmak daha kolay olacaktır oysa Ancak, PHP, Ruby veya Python kullanmak için muhtemelen daha kolaydır.

Ben büyük ticari CRM ve İK uygulamaları kendi ürünleri için temel olarak büyük ticari RDBMS ürünler sunma karşı önyargılı olabileceğini varsayalım. Başka bir şey varsa onlar ortak bir tehdide karşı birleşmeye tercih eminim olacaktır.

Ve onlar zor zaman onları yok ürünlerini entegre eğer lisans ve destek ücretleri haklı var.

Benim 2c:

Linux: kernel 2.6 çıktı beri, ben definitelly yüksek kaliteli bir işletim sistemi olduğunu söyleyebilirim. Sürüm 2.4 oldukça orada değildi ve 2.2 bir şakaydı, ama 2.6 gerçekten çok iyi. Olsa da, dağıtım seçeneği ile dikkatli olun. Benim durumumda, RedHat / CentOS çok iyi ve iyi bir yönetici varsa görünüşte Debian (orijinal, Ubuntu değil!) Güzel kurulabilir. OpenSUSE ile benim deneyim çok iyi değildi.

Apache: kullanmış değil mi, ama bu bir sorun olacağını neden görmüyorum.

MySQL: Bu yığının en zayıf noktasıdır. Eğer ilgileniyorsanız reddit.programming de yorumlarına içine bakmak - Ben burada detaya gidecek değilim. Iyi PostgreSQL bakmak.

PHP / Perl / Ruby / Python: Perl ve Python ile bir dereceye kadar çalıştım. Muhtemelen işin toplu zaten web sunucusu ve veritabanı yönetim tarafından yapılır, web-tabanlı uygulamalar için Tamam. Ancak, statik tip sistemini tercih edersiniz ve oldukça sistem programlama için bir iş uygulaması ve C + + Java / C # almak istiyorum.

Sanırım Kurumsal sistemlerin ölçeklenebilirlik gereksinimlerini belirlemek ve bunların Web Uygulamaları kıyasla nasıl farklı önermek istiyorum. Wikipedia, Flickr, Wordpress, Facebook, MySpace ve diğer bir ana gibi en ölçeklenebilir sistemler bazı bakmak. Sen LAMP yığınını orada göreceksiniz. Ben bir Python fan daha duyuyorum (ben dili temiz bir his olduğunu hissediyorum çünkü) ama o MySQL sunucuları bir banka ölçekli nasıl bahsediyoruz ölçeklenebilirlik üzerine bir kitap yazdı Cal Henderson (Flickr) gibi uzmanları dinlemek.

Bir kurumsal sistemin temel özellikleri nelerdir?

Destek, kullanılabilirlik uzmanlık, platform / dil istikrar muhtemelen saymak.

Ama LAMP hızlı gelişimi, kolay genişletilebilirlik, yeniden kullanılabilir kütüphaneleri çok, ölçeklenebilirlik birkaç belgelenmiş hikayeler, web çerçeveleri olgunlaşan gibi diğer özelliklere sahiptir.

İşte Ölçeklenebilir sistemleri bina için işaretçiler bir çift (Ben Web Ölçeği bahsediyorum) vardır. Ben her zaman Kurumsal uygulamalar için hazır değil varlık olarak LAMP algı popping tutmak neden tüm bu delillerin ışığında merak.

Apache gelince, her Netcraft çalışma çok farklı bir evlat edinme hikayesi gösterir. Sunucularının çokluğu ile, web sunucusu, yapılandırma ayarlamak ve genişletmek için bilgi ile daha fazla kişi olabilir.

Scalable Web Architectures Please Look at Market Share of all Servers Aug 1995 to Jan 2009

LAMBASI yığınlarını kullanarak büyük işletmeler için iki ana konu vardır:

  • TCO: LAMP temelde ücretsiz geliyor dikkate alınarak, işletmelerin hala diğer ticari çözümleri ile operasyon daha düşük bir toplam maliyet modernleşmek
  • Supportability: işletmelerin hiçbir sorun kendi ticari satıcılardan etrafında-saat profesyonel destek almak için ekstra bir kova ödeyerek sahip

Linux is used a lot. Apache and Tomcat are used a lot. MySQL may be robust now. I'd use PostgreSQL instead. Banks will use Oracle, but there's good support for Java and Tomcat there. PHP is used a lot, but many big companies would prefer Java.

Eğer bir Linux, (muhtemelen ticari olarak desteklenen bir sürümü) Tomcat, Java, Tomcat için savunarak kapalı iyi | Oracle | MSSQL çözüm bence.

Bunu zaman ortaya çıkmadan önce, bir yarı zamanlı bir alabilirsiniz eminim karşın, sunucu sayısı rampaları özellikle, bir Linux sistem yöneticisinin gerekir. Şirket zaten, Windows sistem yöneticilerinin sahip ise, Linux için savunarak zor olacak.

Ben teknolojinin prematüre veya AT & T gibi biggies kurumsal düzeyde tam olarak uygulanması ile devam ediyor bir şey olduğunu değil inanıyoruz. Bu şirketler BT onlar aklında olurdu son şey onların iş ihtiyaçlarını karşılamak için açık kaynak teknisyenler gerekli özelleştirme ve geliştirme üzerinde daha fazla harcama olduğunu harcıyor için böyle büyük bir bütçeye sahip.

Peki onlar (ki benim danışmanlık deneyimlerinden gelen aramak) satın almak ve çalıştırmak ürün paketi ve araştırmaya daha fazla harcama ve bir kısmını kesmek zorunda kalmamasıdır. Açık kaynak kodlu bir yapı kullanan şirketler büyük işletmelerin yapmak için çok fazla istekli olmayan herhangi bir destek talepleri, karşılamak için global kendi destek grupları geliştirdik. Onlar hızlı ve emin yapılan şey gerek ve onlar ödeyebilirsiniz.

Redhat ve IBM Linux için tam destek vermek, Güneş sayıda şirket bir LAMP yığınını kullanmak, Yahoo Php kullanır, MySQL aldım, ama birçok kullanım parçalar.

Ben şahsen daha az desteklenen diğer işletim sözü daha olarak Linux'u görmüyorum; Aslında donanım satıcıları genellikle (onlar genellikle Maintream dağılımlarını kullanmak sağlanan oldukça iyi destekliyor musunuz Windows hariç) diğer herhangi bir işletim sistemi üzerinde Linux'u destekleyen ETMEYİN.

Bir tuhaf lezzet (İpucu: Sadece RHEL veya onun özgür eşdeğer CentOS) kullanmak görün, Linux çok iyi desteklenir.

MySQL bazı eksiklikleri olabilir, ama bence çok güçlü vardır; biz amacı olmayan yollarla bir büyük ölçekte kullanabilirsiniz, ama yine de (problemlerin çoğu bizim versiyonları güncel olması veya kötü yapılandırılmış nedeniyle) genellikle oldukça iyi çalışıyor.

Ne "P" LAMP için duruyor tartışmalıdır. Ben onlar zor hale ekleyebilirsiniz böylece birçok bireysel eksiklikleri (örneğin yetersiz unicode taşıma, hiçbir ad alanları, tutarsız API'ler, tutarsız sözdizimi, fakir versiyonu geriye uyumluluk, çoğaltılamaz / eski işlevselliği) vardır çünkü PHP, kurumsal hazır olmadığını hissediyorum Bir sürdürülebilir sistemi uygulamak.

Ama uygun bir şekilde deneyimli ekibi verilmiş, PHP tercih bile bu son derece yüksek kalitede uygulama yapmak için kullanılabilir.

Google için yeterince iyi değilse, sizin için yeterince iyi, inan bana.