IBM, Microsoft, Nirvanix, Rackspace and GoGrid have partnered with PHP firm Zend Technologies to position the popular Web development language for cloud computing applications. The group is launching a simple application programming interface (API) for cloud application services.
Zend said this is intended as an open-source API set that can access services on ''all major cloud platforms.''
"PHP is a very big part of the workloads being run on the cloud," said Zend CEO Andi Gutmans. "Most developers and software vendors will be well-served by an API that supports cloud applications. This is a vacuum that has existed in the cloud."
Zend foresees the Simple Cloud API being translated to any object-oriented language for the Web. The working PHP implementation will be available as part of the Zend PHP Framework, allowing existing client libraries to be accessed in a uniform way. Zend cloud adapters will be available for file storage services, document storage services (initially to include Windows Azure table and Amazon SimpleDB support) and simple queue services (initially including Azure queues and Amazon SQS).
"One of the goals of the project is to make it easier for PHP developers to adopt cloud services," said Zend Cloud Strategist Wil Sinclair, adding that Zend and its allies want to get feedback from the PHP community on the cloud API proposals.
As Zend somewhat brought a uniform style to PHP, it may influence a uniform style for PHP on the cloud.
Common abstraction for PHP clouds
"We have had libraries for different Amazon services for a number of months. The way we used to do it was to write to the APIs for those services. And you wouldn't be able to move the application to another cloud with out rewriting your code," said Sinclair. The new APIs, he suggested, would provide a common abstraction that developers could work with across various cloud types.
"In the 'good old days,' you wrote C on one operating system, and then you had to rewrite to move it to another operating system. Then languages like PHP came along, and you could write once and run anywhere."
With the cloud APIs, developers can "write once and run anywhere on the cloud," said Sinclair.
PHP started its life as a scripting language for Web work. Along the way, though, it has taken on object-oriented aspects. In recent years, Zend has emerged to commercialize PHP, creating an application development framework around the language.
Early alliances with IBM and Microsoft helped place Zend's PHP framework at the center of some enterprise computing applications. Both IBM and Microsoft offered more complex Web application frameworks (JSP and ASP, respectively) for page building, but both came to admit that PHP was quite popular, even in large corporations.
Clouds and collaboration
"For Web application development it is widely adopted, and Zend has gone a long way toward standardizing it," said Forrest Lyman, PHP developer and consultant. Lyman created the Digitalis CMS (Content Management System) using the Zend framework.
"I adopted the Zend framework because PHP, as opposed to Java and .NET, tends to be a victim of its own flexibility."
"It gets a bad rap from developers that use more structured languages, and sometimes that is because some developers push it too far." Having a hand like Zend's to formalize processes is helpful, he indicated. He also credits Zend in its dealing with major players.
"Moving to the cloud, I see these collaborations between Zend and the larger players in cloud computing as important."
"Having IBM, Microsoft, and others work with them out of the gate is a good sign," agrees Michael Cote, industry analyst at RedMonk.
"In past cloud efforts at the infrastructure layer, there's been difficulty in getting various vendors and cloud providers to play together nicely. Probably because this is at the application layer rather than the infrastructure layer, more people are willing to work together," Cote said via e-mail.
Cote said the Simple API for Cloud Application Services is in its early stages, but that fits with the open-source style.
"They have a reference implementation in PHP, but they're launching this project now to get even more involvement," he said. "That is, instead of launching the project when everything was 'done,' they're doing it earlier in open source fashion to get more [traction]."