Access whitepaper

Cloud Storage Caveat

Friday, February 6, 2009 by P.J. Hinton
I love cloud computing as much as any other developer, but sometimes you have to adjust your designs to accommodate for some inconvenient realities.  Yesterday, I was troubleshooting a problem turned out to be caused by an assumption that broke down when one of the pieces happened to be located out in the cloud.

The situation was a feature that stored copies of a file in multiple locations.  It was a nifty design, with underlying storage mechanisms abstracted away well enough that you didn't have to worry whether you were working on a local disk or someplace on the net.  It worked pretty well most of the time, but every once in a while, it would hit a glitch, with the duplication process failing.

The system worked like a relay, starting off by duplicating from the source to storage device A, and then from storage device A to storage device B.  The copy to device A succeeded, but the copy from A to B failed. 

The problem was that device A was a cloud based storage service.  The service's documentation explained that the service was implemented as a distributed network of servers.  picture of a funds availability notice on an ATMWhen a file was placed on the network, there was a brief gap between the completed upload and the general availability of the file.  If you tried to fetch the file right away, the service might reply that the file didn't exist.

In a way, this is similar to how bank deposits work.  Depending on the type of deposit, there may be a lag between the completion of your transaction and your ability to access the funds.

Such a problem can be worked around pretty easily, so don't think I'm trying to say that cloud storage is a bad thing.  It's just a reminder that when you're coding for the cloud, you have to acknowledge that some things that you might have taken for granted when you were programming on a single system are no longer valid.

Spread the Word

Comments for Cloud Storage Caveat

Leave a comment





Captcha

© 2009 Compendium Blogware
All Rights Reserved