Folks, I had a dream this morning about an implementation of the abstract Stream <https://msdn.microsoft.com/en-us/library/system.io.stream(v=vs.100).aspx> class that uses the *cloud *as the backing storage. Imagine just being able to replace FileStream <https://msdn.microsoft.com/en-us/library/system.io.filestream(v=vs.100).aspx> in your code with a mythical "CloudStream" and it all works much the same. Due to implementation differences of the different providers, you would probably really need an AzureBlobStream, a CloudFilesStream, an AmazonSimpleStorageStream, etc, because some of the low-level APIs support seeking and reading chunks at offsets, some don't, and there are many other subtle differences.
Once I realised the low-level features of these providers are primitive and difficult to abstract, my dream of quickly knocking-up a "CloudStream" class faded away. Does anyone know if this issue has been tackled by others with vaguely useful results? Yes, I know performance would be a serious issue and you'd need async support. Maybe memory mapped files <https://msdn.microsoft.com/en-us/library/system.io.memorymappedfiles(v=vs.110).aspx> might be useful?! *Greg K*
