Add rsync/WAN optimization support for Azure storage
It would be amazing if the blob/files storage supported rsync semantics for incremental upload.
Scenario: I have a large file, one local copy on my mobile device and one copy in blob storage. The local copy can be modified by my app. I want to continuously synchronize the change to maintain an up-to-date copy in blob storage.
Currently I have to always upload the entire file for any changes (unless my device does local change tracking).
With rsync support my device could query blob storage for the file's rsync signature, then generate an rsync delta based on that signature and the local modified file, and finally send the rsync delta to blob storage, which applies it to the blob.
Result: minimum bandwidth consumed, only the signature (about 1,3% of the file size) is downloaded, and only the delta (containing only the changed bytes) is uploaded.
It would be equally helpful to have it also work the other way, i.e. client sends an rsync signature and blob storage sends the rsync delta in the response.
Peter Selch Dahl commented
Provide official support for WAN acceleration units like Riverbed SteelHead for Azure Files. This will remove some of issues related to latency over the Internet.