Project Description
An API to connect to Cloud Storage and enable persistence ignorance and testability in Your Cloud Applications.

For a review of the different parts of this API please look at the API Overview page.

See also this blog post for a written intro to this project: Introducing the Cloud Storage API.

Project rationale

Do You want:
  • Application stability in the face of changing Cloud Storage implementations?
  • Persistence ignorance with the freedom to store your data in 'any' Cloud (Storage)?
  • Testability that enables you to mock out the real data store?

Then this project is for You! ;~)

Beautiful idea

Microsoft has published a StorageClient Sample that "provides Microsoft .NET wrapper classes for REST API operations for the Blob, Queue, and Table services". Rather than coding projects against this sample which will certainly be replaced with a real framework product from Microsoft and rather than us coding our own Storage Client framework which Microsoft or someone else will do for us, we decided to create an API that will enable us to select and re-select Storage Client implementations at any time. And suddenly it occurred to us that we would love to be able to store our data in "any Storage Cloud". From this our first version of a Cloud Storage API was sprung.

So why not share this project and make it available to any one? Said and done! Here is the project and the license is Ms-PL. This means you can copy away, rebrand and republish, but not claim by changing it's license.

Se also: Project Ambitions

Implementations

There currently exits one (partial) implementation of this API on the Windows Azure Storage Cloud. This project is coded, released and maintained in a separate project: Azure Contrib

Help Wanted!

Do you know a Storage Cloud? Would you like to review this API for implementation on another Cloud Store? Would you like to implement it for some other type of store? Would you like to have your project referenced from this project as a contributing/associated project? Would you like to help out? If so: Please contact the project coordinators!

Last edited Oct 12, 2011 at 8:16 AM by NoopMan, version 18