ElasticDrive 0.3.2

So... I just finished writing a cool new application, called ElasticDrive. ElasticDrive is a pluggable virtual storage daemon which can store your files in a virtual block device, which is backed on RAM, Flat Files (like loopback), or as a virtual drive on S3!
(in case you missed it, the S3 part is the coolest).
The reason we wanted to build this was primarily for creating software raid to provide redundancy for the instability inherent in Amazon EC2 instances. We use a lot of EC2 machines, but the only drawback is that when they shut down, they are gone forever.
The interesting thing is that there are all kinds of other uses for this block device. Turns out that people can thing of all kinds of neat ways to store data, and reasons why!
Another cool thing is that the storage engines are pluggable, so adding new storage methods is as easy as writing a well define object that can provide the following interfaces:
  • poll(): return pending results
  • write(ofs,data,handle): Write data at offset bytes ofs, with handle
  • read(ofs,length,handle): duh!
  • busy(): Well, are you busy, or can you take another request
  • flush(): Flush all pending data to prep for shutdown.
Home Home