LAMP是因特网的一个重要平台,但是当前的云计算提供商似乎没有将LAMP包括在PaaS之内。云计算的世界里是否需要LAMP呢?
Geva Perry,作为Heroku,GigaSpaces以及其他公司的顾问,最近提出了“谁来建设LAMP云”的问题,并在最后就我们是否需要一个LAMP的PaaS云征求读者的意见。
Perry分析了大多数云提供者并得出结论:LAMP,特别是当这个P指得是PHP时,在PaaS云中是缺失的。SalesForce.com与WMWare最近推出了面向开发者的称为VMforce的PaaS云。Microsoft提供了基于.NET的Azure,虽然他们包含了PHP编程的能力,但是整个平台运行在Windows而非Linux之上,而Linux则是LAMP中的L。Heroku与Engine Yard在云中提供了Ruby on Rails的编程支持。Google云好像与LAMP最为接近,但Perry认为它的重点是Java:
Google是另一候选。这个搜索巨人已有自己了PaaS的产品,即Google应用程序引擎(GAE),它支持Java与Python,Python是LAMP中另一种P。但是人们一直指责它是一个带来了锁定的轻量级产品,因为它要求开发者使用Google特有的编程模型,如线程和数据结构。事实上,正因为如此,Google的平台不支持MySQL,而它代表了LAMP中的M。虽然最近Google推出了面向企业调整过的新版GAE,包括对MySQL的支持,但是其重点似乎是Java而不是LAMP。
Amazon,以其IaaS解决方案著称,考虑到它目前虽然没有在云中提供LAMP的整体解决方案栈,但是分别提供了所有这些组件,所以它有可能提供基于LAMP的PaaS。
Makara有LAMP/PHP的云功能,但是根据Wil Sinclair的说法,“它不是一个产品,也不是一个服务”,Wil Sinclair是简单云API 的创始人,也是Zend(它们声称自己是一个PHP公司)的前任经理。Sinclair还提到,Rackspace打算把“Cloud Sites打造成PHP开发者所需要的PaaS云”,Caucho Technology已经把Quercus移植到GAE引擎,试图通过与Java的整合在GAE中运行PHP。
虽然在云中有很多解决方案能运行PHP或Python,但LAMP似乎是PaaS的一个缺失,这非常有意思,因为不然它会被Web开发者广泛地使用。现在的问题是,我们真的需要LAMP的PaaS云吗?
Kirill Sheynkman在回复Perry的博文时说,landscape已不如往昔,LAMP也丢失了它的地盘:
没错,没错,没错。PHP很强大。是的,是的,是的。MySQL拥有数百万用户。但是,LAMP的“MP”出现的原因是当时我们使用的是托管,而不是云计算。现在有了可替代PHP的应用服务平台,也有MySQL(总体而言,SQL)的替代方案,它们非常生动、令人激动,而且好像也已有了新的开发者社区。不论是作为开发语言的Ruby、Groovy、Scala或Python,还是作为持久层的Mongo、Couch、Cassandra,他们都是可选的替代。MySQL被Oracle所有是它的劣势,而非优势。我认为,时代在变,企业要把他们的应用程序放在云中,他们有很多非常有吸引力选择,有解决方案栈,也有立即可用的服务,如Azure和GAE。
James Urquhart在一篇不同的博文中补充了Sheynkman的观点:
我只能说Kirill与我的观点非常一致。首先,LAMP的“LA”可能已经向PaaS用户完全隐藏了,那么开发者还需要关心它们的使用吗?(也许在调用操作系统功能时需要,但老实说,云提供者会允许开发者这么干吗?)
其次,如他所说,LAMP的“MP”关心的是你得在必须由自己管理的系统上处理不断变化的操作代码和数据。如果有一些可选方案能够隐藏了大部的分管理工作、使得数据的存入和获取更为便捷、你只需编写代码访问并操纵这些数据和控制应用使之满足服务级别协议。此时,开源编程栈还那么重要吗?
Heroku的CEO,Byron Sebastian认为在云计算中语言不再那么重要了:
我们认为市场不会因为Ruby平台,Java平台或者PHP平台而终结。人们要创建企业应用、Twitter应用,或者他们要做的任何事情,而这些与语言并不相干……
将来的解决方案应该是云应用平台,而不是基于特定语言的云服务。
你的看法呢?云计算中会出现LAMP吗?而PHP呢?PHP在另一个平台之上还会像今天一样流行吗?