LAMP has been a major platform for the Internet, but current cloud offerings do not seem to include LAMP as PaaS. Is LAMP needed in a cloud computing world?
Geva Perry, an Advisor for Heroku, GigaSpaces and other companies, has recently asked the question “Who Will Build the LAMP Cloud?” wondering later if we actually need a LAMP PaaS offering.
Perry reviewed most cloud offerings concluding that LAMP, especially if P stands for PHP, as PaaS is missing. SalesForce.com and VMware have recently rolled out a PaaS offering called VMforce targeted at Java developers. Microsoft offers Azure based on .NET. While they include the ability to program in PHP, the entire platform runs on Windows not on Linux, the L in LAMP. Heroku and Engine Yard offer Ruby on Rails in the cloud. Google’s cloud offering seems to be closest to include LAMP, but Perry remarked the focus seems to be on Java:
Google is another candidate. The search giant already has a PaaS offering, Google App Engine, that supports both Java and Python, another one of the Ps in LAMP. But until recently it’s been accused of being a lightweight offering that creates lock-in by forcing developers to use Google-specific programming models, such as with threading and data structure. In fact, because of this, Google’s platform lacked MySQL support, the M in LAMP. And although Google recently rolled out a version of its App Engine tweaked for the enterprise, including support for MySQL, the focus seems to be on Java, not on LAMP.
Amazon, known for its IaaS solutions, could provide a PaaS based on LAMP considering that currently it offers all the components separately, but not the entire stack as a platform.
Makara has a LAMP/PHP cloud offering but it “is a product, not a service” according to Wil Sinclair, creator of Simple Cloud API and former manager at Zend, the PHP company as they call themselves. Sinclair also mentioned that Rackspace considers “Cloud Sites a good option for PHPers looking for PaaS cloud.” Caucho Technology has ported Quercus in order to run PHP on Google’s GAE through integration with Java.
While there are some solutions to run PHP or Python in the cloud, it looks like LAMP is missing as PaaS offering, which is intriguing considering that it is otherwise quite used for many web applications. Now, the question is, do we really need LAMP as PaaS?
Commenting on Perry’s post, Kirill Sheynkman considered the landscape is changing and LAMP is losing ground:
Yes, yes, yes. PHP is huge. Yes, yes, yes. MySQL has millions of users. But, the “MP” part of LAMP came into being when we were hosting, not cloud computing. There are alternative application service platforms to PHP and alternatives to MySQL (and SQL in general) that are exciting, vibrant, and seem to have the new developer community’s ear. Whether it’s Ruby, Groovy, Scala, or Python as a development language or Mongo, Couch, Cassandra as a persistence layer, there are alternatives. MySQL’s ownership by Oracle is a minus, not a plus. I feel times are changing and companies looking to put their applications in the cloud have MANY attractive alternatives, both as stacks or as turnkey services s.a. Azure and App Engine.
James Urquhart added to Sheynkman in a separate post:
I have to say that Kirill's sentiments resonated with me. First of all, the LA of LAMP are two elements that should be completely hidden from PaaS users, so does a developer even care if they are used anymore? (Perhaps for callouts for operating system functions, but in all earnestness, why would a cloud provider allow that?)
Second, as he notes, the MP of LAMP were about handling the vagaries of operating code and data on systems you had to manage yourself. If there are alternatives that hide some significant percentage of the management concerns, and make it easy to get data into and out of the data store, write code to access and manipulate that data, and control how the application meets its service level agreements, is the "open source-ness" of a programming stack even that important anymore?
Byron Sebastian, Heroku’s CEO, does not think the language matters that much when it comes to cloud computing:
We don’t think the market is going to end up with a Ruby platform and a Java platform and a PHP platform. People want to build enterprise apps, Twitter apps and to do what they want regardless of the language. …
The solution is going to be a cloud app platform, rather than as a specific language as a service.
What do you think? Is LAMP going to be relevant in cloud computing? What about P languages like PHP? Is PHP going to be as present as it is now but on top of other platforms?