Zend Technologies, in association with IBM, Microsoft and others, has launched the Simple API for Cloud Application Services project, a new open-source initiative that enables developers to use common application services in the cloud, while enabling them to unlock value-added features available from individual providers.
Zend officials said the Simple Cloud API project aims to facilitate the development of cloud applications that can access services on all major cloud platforms. Zend, IBM, Microsoft, Nirvanix, Rackspace and GoGrid are co-founding contributors to this community project. However, cloud giants such as Amazon and Google are not.
The Simple Cloud API project empowers developers to use one interface to interact with a variety of cloud application services, enabling them to more easily access new technologies from cloud vendors, said Dirk Nicol, director of emerging technology in IBM's Software Group.
"Today developers have to write to a proprietary API, but with this Simple API you'll have a common API that would work across vendors," Nicol said. "It's about portability and avoiding vendor lock-in. And this supports both public and private clouds."
The first deliverables will include interfaces for file storage, document database and simple queue services from platforms like Amazon Web Services, Windows Azure, Nirvanix Storage Delivery Network and Rackspace Cloud Files. As a result, developers can deploy software applications to access services in these environments without making time-consuming and expensive changes to their source code.
"The Simple Cloud API, to me, is a logical next step toward ensuring an acceptable level of interoperability between cloud applications and environments," said Stephen O'Grady, an analyst with RedMonk. "While it's true that API proliferation is becoming a significant source of concern to customers and third-party service providers, this effort has done an admirable job of crossing party lines to put together a working coalition. If it's adopted widely, it could be a substantial complement to lower-level, management-oriented cloud APIs."
"Cloud computing offers irresistible value to enterprises of all sizes, but the lack of portability across cloud application services for even the most basic operations has been an impediment to broader adoption of cloud services," said Andi Gutmans, CEO at Zend Technologies, in a statement.
"The Simple Cloud API combines the benefits of open-source community processes with the active participation of the cloud vendors themselves," Gutmans added. "With early participation and support from industry leaders and the Zend Framework community, we anticipate that this important project will continue to grow, serving a wide range of application developers and businesses building modern Web applications for the cloud."
The Simple Cloud API project is designed to encourage widespread participation and contributions from the open-source community, resulting in the availability of Simple Cloud API adapters for virtually all major cloud providers.
Although led by Zend, the largest corporate contributor to the PHP programming language, the Simple Cloud API can be translated to any object-oriented language for the Web. The PHP implementation will be available in the widely adopted open-source Zend Framework project as a new component, called "Zend Cloud." PHP developers can take advantage of this new component to utilize existing client libraries available in Zend Framework in a uniform way.
"We've been trying to bring a community together around uses cases for cloud computing," Nicol said. "One of the important points is to really be open. So we've put together the Simple API. I expect there will be more APIs, more capabilities, more functionality, more participants and possibly other languages [in addition to PHP]."
Zend Cloud adapters will be available for services such as:
File storage services, including Windows Azure blobs, Rackspace Cloud Files, Nirvanix Storage Delivery Network and Amazon S3
Document storage services, including Windows Azure tables and Amazon SimpleDB
Simple queue services, including Amazon SQS and Windows Azure queues.
Zend Cloud will also provide adapters for local services to make offline coding and testing against cloud services as easy as connected development, Zend officials said.
Other adapters, such as those for Rackspace Cloud Files API, will work with external libraries with no changes to application code. Microsoft is also contributing Simple Cloud API adapters, along with the official PHP client libraries for Windows Azure storage, to future versions of Zend Framework. These adapters will allow applications to take advantage of many Windows Azure features through the Simple Cloud API interface, while Microsoft's client libraries will put Windows Azure innovations, such as transaction and partial upload support, at the fingertips of cloud application developers.
"Microsoft is pleased to continue to work with Zend and join efforts with other contributors to this project," said Doug Hauger, general manager for Microsoft Windows Azure, in a statement. "The Simple Cloud API is an example of Microsoft's continued investment in the openness and interoperability of its platform. We're excited to see how this project will foster adoption of cloud computing platforms by PHP developers and hope that many of these developers are encouraged to use Windows Azure."
Kristof Kloeckner, CTO of IBM Cloud Computing, said he sees this effort as a significant step toward a more open and interoperable cloud. "The Simple Cloud API will enable developers to invoke cloud services in a common way across cloud providers," he said. "This can significantly reduce the costs for application development and provide customer choice. To that end, IBM will be contributing adapters for IBM's cloud service interfaces, as well as adapters to IBM's data storage products, allowing developers to easily switch between public clouds, private clouds and traditional data center environments."
Lew Moorman, chief strategy officer and president of the Rackspace Cloud, added: "We're proud to be part of any initiative that delivers more value to developers in the cloud. Our contributions to the Simple Cloud API are part of our ongoing effort to bring the unique value of open-source software to the cloud. Many of our customers use PHP as their Web application language of choice, and we believe that these developers should be able to choose which cloud services are the best fit for them through interfaces that they can help define."
"It's great to see the cloud standards gaggle working on application-centric APIs," said Michael Cote, an analyst with RedMonk. "Thus far, most of the focus has been on the infrastructure layer, which has been much needed, of course. Ultimately, though, clouds are going to have to cater to application development. There are many PAAS [platform-as-a-service] platforms that do this, and folks can code to each cloud's API out there. But, the idea of trying to get a common API layer for application developers is attractive."
Key to this effort, Cote added, "will be getting a steady stream of cloud providers and traditional middleware folks to sign on-to not only agree on common APIs but provide the implementations and mappings for those APIs to each platform. Having IBM and Microsoft along with Zend and the other initial members is good. It's a nice signal to see those folks working together."
An initial Simple Cloud API proposal and reference implementation is available now for community review and participation at http://www.simplecloudapi.org.
Developers can also evaluate the Simple API for Cloud Application Services by deploying their applications that use it on the Amazon cloud using the freely available Zend Server Community Edition Amazon Machine Image (AMI) for EC2. Zend Technologies also offers a Zend Server AMI that is commercially supported. A technology preview of the PHP client libraries for Windows Azure can be viewed and downloaded from http://framework.zend.com/Zend_Service_WindowsAzure.