views:

339

answers:

3

Hi,

I'm about to design an application using S3 for storage. Unfortunately, I'm not allowed to use the real service for development. Thus, I've to work with an interface-compatible replacement.

I searched a lot and ended up with to solutions: Eucalyptus Walrus and Park Place. However, I have some trouble with both.

Walrus does not seem to be a good replacement. It is obviously okay for storing virtual machine images, but it has some problems when used as a real key-value storage with multiple concurrent requests. The performance is really not as good as it should, and the whole eucalyptus system is way too heavyweight just for using a single component.

Then I stumbled upon Park Place, a lightweight Ruby implementation. Unfortunately, the original source is not available anymore and there are a few scattered git-clones around, mostly outdated. There is also no complete documentation and no installation howto, especially for people that are not familiar with Ruby.

Has anybody succeeded in installing Park Place? Or do you know of other interface-compatible S3 clones for development?

Thanks in advance

+1  A: 

Not sure what language or S3 library you are planning on using. I have used the c# library and in dev mode I made a simple mock of the functions I would be using, took less than an hour and was ideal for dev testing

Other wise I use the real thing. What is the reason for not using the real thing?

TFD
Of course I could create my own clone. However I'd prefer picking up an existing one.If I could, I'd use the native S3 service. Unfortunately, the storage is part of a small academic project and we're not allowed to spend additional money at the beginning. We only got a big server and that is it.
PartlyCloudy
At $0.15/GB spend a dollar and save yourself some pain
TFD
+2  A: 

As much as it is a joke S4, I'm told, has a similar API and you should be able to just point your endpoint at it. But I think TFD is right to pay a little for your testing; I wish they had a trial service, though. I would consider it the cost of a really cheap book on S3.

Tyler Szabo
A trial service? Hmmm, for the price of a coffee you could run a test several thousand times. It too cheap to even worry about. If the company wont pay, take some coin out of your own pocket. It's going to be easier. Your computer uses around $0.15 of electricity every hour, so if you do less than a GB per hour S3 is cheaper than the electricity you are using to test it!
TFD
Alright, fine. But it's not coming out of MY coffee budget!
Tyler Szabo
A: 

Unfortunately, no one came up with a ready-to-use replacement that I can just install on my computer and host locally. So I'm sorry, but I'll have to answer this one by my own.

Due to missing alternatives, I had to create my own service with the least efforts in order to create a almost-alike service (atleast for HTTP-based item storage). Here is what I did:

1) Installed nginx as a webserver together with the mogileFS and Secure Link module and.

2) Configured the mogileFS module in order to accept PUT/DELETE requets.

3) Setup some rules in order to force bucket/key directory structures.

4) Setup the Secure Link module with some rewriting rules in order to fake signed uris.

5) Setup BASIC authentication for faking authorized requests.

6) Extended my existing connector to use my own server. Due to the functional similarity, this was rather easy. I just had to change authentication and uri signing.

That is not a cute solution, however it works and don't had to code much by my own.

PartlyCloudy