Do We Need ODBC for the Cloud?

It is a good sign that Google has decided to expose their Storage API based on Amazon S3 API. Eucalyptus Walrus Storage API is completely compatible with S3.

There has been a discussion on standardizing the API for the Cloud Storage. What fueled this discussion further is a poll that ReadWriteWeb.com ran on their site.

Poll from readwriteweb.com (as on 7/15)

Poll from readwriteweb.com (as on 7/15)

While majority of the participants of the poll felt that Amazon S3 API can be considered as the standard, James Urquhart from Cisco feels that it is too early to call anything a standard as of now. I completely agree with his viewpoint. Cloud Computing and Cloud Storage are still evolving and we will see many more capabilities in the future. With Amazon Web Services and Microsoft Windows Azure offering CDN as a service, it will quickly become a logical extension for the Cloud Storage API. Developers will just need to add a few flags to push the objects onto the CDN.

Let’s get back to the original discussion on Cloud Storage API standards.
If we look back in history, the industry faced exactly the same challenge in the late 80s when the RDBMS market started to explode. Businesses didn’t want to suffer from lock-in and developers wanted flexibility at the API level. During the transition from monolithic to Client / Server, Open Database Connectivity (ODBC) became the de-facto standard. Every DB vendor shipped their own libraries that adhered to the ODBC standard and developers could switch the libraries at runtime to talk to multiple databases. The front-end applications were completely insulated from the back-end.

For Cloud, we fortunately have the standards as the Lowest Common Denominator. What is common across all the APIs is that they are based on HTTP, REST, XML and SOAP. That makes it easy for abstractions to surface. What we need now is a Cloud version of ODBC. Let me take the risk of calling this as Open Cloud Storage Connectivity API. I am visualizing an architecture that looks something like this:

Open Cloud Storage Connectivity

Open Cloud Storage Connectivity

This is based on the factory method pattern which is used by many enterprise architects. With this, a change in the configuration file will load the appropriate library for the target Storage service. This will be transparent to the Cloud Storage Consumer.

I already see this coming! Take a look at jClouds and Apache libcloud . The future of Cloud Storage is bright and exciting! What do you feel about the standardization of the Cloud Storage API?


Related Posts

Top 5 Articles

Download The eBook - Demystifying The Cloud

I wanted to write a technical book for a long time. Though some of the well known publishers approached me, I never mustered enough courage to sign up and commit to them. With a full time job and a busy schedule, I am not sure if I would be able ...

Read More

Data on the Cloud - Amazon S3

Storage is one of the key resources offered as a Cloud Service. By moving data to the Cloud, there are quite a few benefits. Some of them include: 1. Illusion of unlimited storage - Unlike hosting, Cloud storage will virtually give you access to unlimited storage. You will never run out ...

Read More

Cloud Personas and Their Concerns

As one of the stakeholders of the Cloud ecosystem, I persuade, motivate and encourage decision makers in my circle to take a serious look at the Cloud. I want to share my experiences of having these conversations with the audiences. Off late, I came across a few IT Managers and technology ...

Read More

Top 10 Myths of Cloud Computing

As we step into the new year of 2010, I want to discuss the top 10 myths of Cloud Computing. Quite a few experts tried to debunk the myths earlier. My attempt is based on what I have seen or heard in my community. The concepts that I am bringing ...

Read More

Who Will Win The Cloud Computing Battle in India?

Till now I have discussed various technical aspects of the Cloud. Going forward I will also cover certain business aspects related to the Cloud. In this article, I want to analyze the opportunity for the Cloud vendors in India. We will first take a look at the ecosystem, the opportunity ...

Read More


{ 9 comments… read them below or add one }

Murty Eranki July 15, 2010 at 7:37 am

Hi Jani,

I agree with your view point that standardizing the API for the Cloud Storage is very much needed today. It should not be limited to public cloud storage rather it should be available for every storage option. Thanks for sharing some important pieces like jClouds and Apache libcloud APIs.

Best Regards,
Murty Eranki

Reply

Nandavarapu Kiran July 15, 2010 at 5:14 pm

I think it will take some more time for standards to be set in the cloud. I feel this as there is no proper and concrete strategy for the cloud from vendors. Simple case is from EMC, who stopped ATMOS, its Cloud Storage service just after its launch before 6 months. Reason might be the rift and direct competition from partners.

I think once product maturity comes, then standard make more sense.

Thanks,
Kiran

Reply

Jani July 15, 2010 at 5:22 pm

Totally agree with you Kiran. It is too early to finalize anything as a standard.

Reply

jamesurquhart July 15, 2010 at 5:39 pm

Are you aware of the SNIA CDMI standard for cloud storage? It might fill that need quite well.

James

Reply

Jani July 15, 2010 at 5:44 pm

James, thanks for pointing out SNIA CDMI (http://www.snia.org/cloud). I will explore that!

Reply

George Reese July 15, 2010 at 7:30 pm

Dasein Cloud is ODBC (or JDBC) for the cloud.

Reply

Basant July 16, 2010 at 9:04 am

Being a developer; I can't think of anything more useful than ODBC (and OLEDB in late 90s till now) to a developer! Anything of this sort for cloud standardization will help all the stake holders of cloud computing.

Reply

Richard July 30, 2010 at 6:59 am

Firstly, great article. I enjoyed reading it and I agree that it would be great to see an overarching “cloud API”. In fact, that's one of the things I've been attempting to make a reality, at least from a C# .NET perspective with my open-source CloudStorageProvider project hosted at CodePlex: http://cloudstorageprovider.codeplex.com. The project is in it's infancy and currently contains just code for the Windows Azure platform, however, it can be easily extended to support any number of providers and I actively encourage the community to check it out, download it and add their own provider!

Reply

Woainihehe1031 August 9, 2010 at 6:55 am

Wow!! really Good!!! I will be back soon!!!

Reply

Leave a Comment

Spam Protection by WP-SpamFree Plugin

blog comments powered by Disqus

Previous post:

Next post: