Backed by Microsoft, IBM, and three other outfits beckoning developers into the sky, Zend Technologies has unleashed an open source API for fashioning PHP apps that float on multiple clouds.
Zend calls it the Simple API for Cloud Application Services. The idea is to provide a single programming interface for file storage, document database, simple queue, and other application services offered by the likes of Amazon, Rackspace, and, yes, Microsoft.
"This project allows developers to get all of the scalability and high-availability and other advantages of the cloud while maintaining portability," Wil Sinclair, the Zend man who oversees the project, tells The Reg.
But the project is not be confused with fledgling meta cloud APIs from RedHat and Cloudkick. Whereas Zend and crew are targeting application services, RedHat's deltacloud and Cloudkick's libcloud aim for Amazon EC2 and other so-called infrastructure clouds offering up virtual server resources.
The Simple API project was originated about six months ago by Zend, an outfit wonderfully obsessed with PHP tools. The API will be available in the open source Zend Framework project under the name "Zend Cloud." Zend says the interface can potentially be translated to other object-oriented web languages, but for the moment, it's a PHP project.
"We wanted to make sure we served the PHP and Zend community as the IT industry moves into a more cloud-based infrastructure," Zend CEO Andi Gutmans tells The Reg. "In order to really encourage ISVs to really embrace the cloud - to build what we call cloud-native applications, applications built for the cloud, not just run on the cloud - we needed to make sure they had the right set of APIs to reach as broad an audience as possible."
Zend's co-founding contributors include Microsoft, IBM, and Rackspace as well as two smaller cloud outfits, Nirvanix and GoGrid. Yes, Zend has approached Amazon about the project, but per usual, Jeff Bezos and company are keeping their distance.
"We've had ongoing discussions with Amazon, and they haven't said 'yes' and they haven't said 'no' at this point," Sinclair says. "But we hope they join sometime down the road."
Nonetheless, the project will rope in various Amazon services, with the community at large writing adapters for Amazon's public APIs. Zend and crew plan on building adapters that span various file storage services, including Amazon S3, Windows Azure blobs, Rackspace Cloud Files, and the Nirvanix Storage Delivery Network; document Storage services, including Windows Azure tables and Amazon SimpleDB; and simple queue services, including Amazon SQS and Windows Azure queues.
"Amazon is such an important cloud vendor, we're going to make sure their services are part of the Simple API as well," Gutmans says.
Yes, disparate services offer disparate tools. The API will only handle tasks shared by each service. "These services are actually very similar in a lot of ways," Sinclair says. "With something close to 80 per cent of the use cases for applications running on these services, you can just use the common functionality.
"With storage services, for instance, the main thing you need is to be able to store something and get it later. You need to be able to copy things, another common feature we've added to the API. But there will be a lot of discussion about what is common and what isn't."
In other words, the API will not target tools specific to individual vendors. Windows Azure table storage supports transactions, for instance, and Amazon's simpleDB doesn't. So you won't find transactions in the API. "We want applications to be portable between services," Sinclair says. "And we don't want to stifle innovation."
And unlike RedHat's deltacloud, the project does not extend to Amazon EC2 and similar infrastructure services. "These projects [delta cloud and Simple API for Cloud Application Services] can be used together. There is no real overlap at this point," Sinclair says. "You can easily see a scenario where someone is using deltacloud and Simple Cloud API in the same project."
Microsoft tells The Reg it's committed to building adapters for its Windows Azure storage services, while Rackspace and others have made similar commitments to fashion adapters for their own services. IBM is still mulling how the project will play into its sky-high services, but it envisions adopting the API natively.
"This is the kick-off of an open source project," Dirk Nicol, IBM director of emerging technology tells us. "We'll see where the community takes the conversation, but we anticipate incorporating those APIs into our offerings and influencing those APIs."
Nicol says IBM is already helping to write adapters for other services.
Meanwhile, Microsoft is also contributing an open-source Azure software development kit to the PHP community. So, if they like, developers can tap Azure-specific tools, including transactions.
"You can mix and match, using both the PHPAzure SDK and the Simple API," Vijay Rajagopalan, principal architect on Microsoft's interoperability strategy team, tells The Reg. "This is a way of emphasizing our commitment to interoperability and openness."
Well, up to a point. If you start tapping Azure-specific tools, you start losing portability. The ideal scenario would see all these vendors adopting the same native API, as IBM suggests. But we're an awfully long way from that.
Sponsored: Webcast: Ransomware has gone nuclear