Cloud computing promises unlimited disk space for users and applications. In an ideal world, accessing that storage would be as easy as accessing a local hard drive. Unfortunately, the basic APIs of most cloud storage services force programmers to think about protocols and configuration details instead of simply working with their data. This article looks at classes in the Zend Framework that make it easy to use Amazon’s S3 cloud storage service as a boundless hard drive.
Wire formats and cloud computing
A major challenge to building applications that work in the cloud is the interface to the services themselves. Most services provide a REST or SOAP interface. (S3 provides both.) A major advantage of a REST or SOAP interface is that it is not language-specific. That means you can invoke the service from whatever programming language you prefer. The disadvantage is that using REST or SOAP forces you to think of the details of the request, instead of thinking about the data you’re using. As an example, all requests to S3 must include an authentication token composed of your Amazon access key and a signature value. That means your request has to include a value like 0PN5J17HBGZHT7JJ3X82:frJIUN8DYpKDtOLCwo//yllqDzg=.
Obviously, a higher-level approach that lets you focus on data instead of signatures and other details is a major productivity improvement. That’s where the Zend_Service_Amazon_S3 class comes in. This class lets you focus on your data, not on the mechanics of HTTP headers, SOAP envelopes, or other irrelevant details.
Author: Elizabeth Mungai