When you’re developing services in the cloud, you often deploy them directly from your development environment – in the case of Windows Azure, from Visual Studio. When your services involve massive files like videos, those services will need to support what the cloud calls binary large objects, a phrase created just so we can call them BLOBs. Inevitably, you will find yourself having to manage BLOBs. Writing one-off programs just to send commands to the cloud service to manage your files, isn’t exactly the way self-service should work.
Until Microsoft comes up with a background service that ties Azure directly to Windows Explorer, developers say on MSDN, they’ve been using a tool called CloudBerry Explorer. It’s a fairly simple, dual-pane environment in the vein of the old Norton Commander, and the present day third-party tool Total Commander. Each column is an independent file system navigator which by default points to local storage. But you can shift the source location for either or both panes from local storage to a cloud-based storage account (in the example above, Windows Azure).
In cloud-based storage, BLOBs were created to handle any-length strings of bytes, and were originally intended for containing large databases whose contents the system should preferably leave alone. What distinguishes a BLOB from an ordinary file is its variable degree of accessibility through simple HTTP. Almost immediately they became the perfect storage containers for things like small videos, which conceivably can be managed in the browser rather than being streamed. In any event, an HTTP address does point to a BLOB – not specifically to where it’s stored (because remember, this is the cloud) but rather to an address which the server may resolve dynamically to determine where it’s stored at the moment.
But from CloudBerry Explorer’s vantage point, the BLOB is analogous to a file and its container analogous to a folder. Once you give the program the shared access key to your cloud storage on Amazon S3, Google Cloud, or Azure (depicted at right), you can create a container (or what S3 calls a bucket, as depicted below) and then drag-and-drop files into that container (you can’t just drag a folder into open space, I found out, because creating a container is a drawn-out process for the server).
This is not a substitute for file hosting services like Dropbox or Skydrive, which are already supremely convenient and some of which tie in directly to Windows. Instead, CloudBerry makes BLOB management simpler for developers to write C# functions to do these same things. The freeware version offers basic file management functions and the ability to generate capacity reports – pie charts representing the total storage utilization for your containers. Meanwhile, the Pro version ($39.95) also enables you to synchronize a local storage folder and a cloud-based container, although the sync process is mainly convenient when you run CloudBerry in the background.
One feature added to the Pro edition for Azure is support for Microsoft’s Storage Analytics tool, which lets Azure developers monitor and report on how efficiently their storage and bandwidth are being used. Storage Analytics provides reports on such metrics as number of object requests per hour, average server-side and end-to-end latencies, and total number of successful and failed requests.