Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cross Cloud Storage Adapter? [closed]

Do any APIs/Libraries/tools exist that act as adapters/provider interfaces for accessing different cloud storage services through a common interface? Something similar to ODBC or OLE-DB, except for cloud storage instead of databases.

Such that, if I wrote a front end for taking notes, and I utilized such an API, and let the user provide configuration for which cloud storage provider they have an account with, the API library would handle translating my cloud.Save() call into the commands specific to whiever provider was being utilized. This would allow my front-end app to be cloud storage provider agnostic.

So maybe I wrote some chrome extension or portable thumb drive app for storing notes, or encrypting and storing passwords, or some such, and you tell it which cloud storage provider you have an account with, and it uses it for syncing. This way your use of that tool doesn't tie you to a specific cloud provider. As long as you backup your data, you could migrate to another provider and just reconfigure the app should you become unhappy with that provider or they go bankrupt.

WebDAV for example is one potential candidate since it seems some storage services offer it, but that is not quite what I have in mind, since it depends on the storage providers to offer that as an option. I also don't know enough about WebDAV to know if it really would serve in the capacity I'm imagining. But feel free to post that as an option with pros/cons for comment/discussion.

I more imagine something that is a middle layer external to each cloud provider. Of course since each provider offers a different web service for interacting with files, the middle layer would have adapter for each backend. But on the front-end, it would expose a common API that is provider agnostic.

Does anything of this type exist?

Even just an open source GUI that allows you to store files in any provider, which would imply that in its source code exists the beginnings of such a middle layer. I would think someone has already made a tool that helps you unify all the free GB that you can get from various services. Sort of a JBOD layer for the cloud(although that is not the goal of this post, the point being such a tool accessing many different services would imply it has the beginnings of a middle layer for standardizing access to them).

My main interest though is in abstractions for personal cloud storage services, that would be appropriate for applications used by individuals, to put the control of storage in the hands of the individual so that they can have the freedom to move between personal cloud storage services. It seems what I've found so far is more oriented for CDN, websites, or services.

Please make seperate posts per suggestion so that votes and comments/discussion can take place specific to that suggestion.

like image 455
AaronLS Avatar asked Sep 12 '12 22:09

AaronLS


People also ask

Is Clouddrive private?

Who Has Access to Your Cloud Storage? Whether you like it or not, storing data in the cloud means someone else gets to see, and even access, it (unless you go for a zero-knowledge provider, that is).

Is GCS compatible with S3?

In fact, Google Cloud Storage (GCS) optionally offers access via an S3-compatible API.

Who owns Clouddrive?

Cloud Drive offers free mobile apps, secure access from any computer, and it's built in to the Fire family of Amazon devices—so you can access your digital content everywhere you are.

What is Nearline storage in GCP?

Nearline storage is a better choice than Standard storage in scenarios where slightly lower availability, a 30-day minimum storage duration, and costs for data access are acceptable trade-offs for lowered at-rest storage costs.


2 Answers

Kloudless provides a common API to several different cloud storage APIs (Dropbox, Box, GDrive, OneDrive, etc.). Kloudless also provides SDKs in popular languages and UI widgets to handle authentication and other user interactions.

You can find more information and sign up here: https://kloudless.com/

Disclosure: I work at Kloudless.

like image 140
vinod Avatar answered Sep 28 '22 07:09

vinod


Apache jclouds presents cloud-agnostic abstractions, with stable implementations of ComputeService and BlobStore.

visit https://jclouds.apache.org/

Apache jclouds® is an open source multi-cloud toolkit for the Java platform that gives you the freedom to create applications that are portable across clouds while giving you full control to use cloud-specific features.

like image 31
4 revs, 4 users 40% Avatar answered Sep 28 '22 06:09

4 revs, 4 users 40%