Cloud and the Sidekick-opalypse

One thing that bugs the crap out of me about this whole "Cloud" thing is that there's a few different moving parts that are sold as one amorphous cloudy bloby thing. The details are often hidden from view, at a different level of abstraction, so you don't think of them. On the other hand, I do think about it, and I've spent enough time in the biz that I've seen some of the popular ways to store data in action.

Ten years ago, you might have had an account through your ISP or employer. You probably have a client program on your machine. These days, you may have email through your employer or ISP, but you probably use an account from Yahoo! or Google or AOL or Microsoft. Your email is "in the cloud"

This may mean that you are no longer subject to the whims of your ISP or employer... both of which are actually fairly transitory. This is clearly a good thing.

This may mean that can view your email from any number of devices, potentially without the hassle of an email client. This is also quite nice.

However, this also may refer to some details of storage. This is where we're talking at a different level of abstraction... and nobody will give you a tour of what's really going on inside because that's proprietary information.

The basic idea of "cloud" storage is often something along the lines of using intelligent design such that an array of undistinguished interchangeable machines are able to act as a unified whole. See, back in ages past, a company might own two mainframe "dinosaur pens" with each pen containing an identical set of hardware, staffed by a dedicated army of personnel there to mount and dismount tapes, monitor systems, plan expansions, etc. The pair of mainframe pens, regardless of actual hardware, would be set up in such a way that you didn't need to think about the details, it was just all on "the mainframe" and taken care of.

These days, instead of giant mainframes, you've got racks and racks of little machines. And because each machine is so insignificant, you really don't need to have a full-time operational staff there running between racks whenever a machine so much as blips. Because everything stored on that single machine is always stored somewhere else and so as soon as your "cloud" system realizes that it's gone wrong, it'll just make redundant copies elsewhere and mark the machine for the operational staff to deal with at their discretion.

There's a weird recycling of thought process, actually. See, you can build something that's more akin to the giant mainframe with today's hardware without calling it a mainframe. These days, you call it a "SAN" or a "NAS". You can hook a mainframe up to a SAN or a NAS, or you can just use medium or regular sized machines. Thus, you might look at a rack of machines and assume they are a "Cloud" setup, when really it's a bunch of front-end boxes with a SAN or NAS hidden in back.

Having worked with all sorts of architectures, I find that I'm fairly architecturally ambivalent. It's really about finding the right balance of features and functionality... and getting the details right. This is why a good architect to design the architecture is worth their weight in gold.... and savvy staff to write the custom code correctly and keep it going.

Now, the big Danger Sidekick failure.... the word "SAN" kept coming up in the dialogue... so it's fairly rational to assume that they were not *really* using the "cloud" storage. But your data was "out in the clouds" from the user's perspective because the Danger Sidekick is pretty much just a dumb terminal. Because of this, now every single "Cloud" vendor (And, in my opinion, there's a huge market to be built in the coming decade) is now going to have to sit down and explain why their cloud product won't fail like the Sidekick.

This is a good question to ask. Except that more than a few vendors are going to respond "Oh, well, our product doesn't have a big SAN to fail" when what you really want to know is if their cloud storage system is robust. Or, given some rumors, that there isn't a maniac with a chainsaw in the data center.

Also, for me, this also points to a glaring flaw that's been bugging me since before the Cloud was a buzzword. Which is... if I wanted to take a set of arbitrary platforms... say a cellphone and my main computer and maybe a website... and an arbitrary class of important semi-structured data... say my to-do list or contacts... in such a way that each platform had a similarly first-class experience as IMAP mail. I can take my ball and go home with my email... but I can't with most other things.