Late last week while doing cardio, I start listening to one of my subscribed podcasts as I always do when engaging in such a miserable activity for the benefit of my heart. The podcast of choice on that morning was TWiT. This particular episode came directly on the heels of the big Sidekick data loss fiasco - which just happened to be the loss of a ton of customer data such as address books, text messages, and other fun bits of personal data that was stored... guess where? That's right - "on the cloud". The TWiT crowd on that particular episode had a fun time with that term for the opening ten minutes this story was talked about. Thankfully neither Dvorak or Laporte were actually there, or else it may have just been intolerable. Regardless, they had a fun time talking about how "the cloud" failed.
Actually, no - that data was stored somewhere in the bowels of Danger's and/or Microsoft's infrastructure. Their infrastructure, and their policies/procedures around it are what failed. "The cloud" didn't fail anyone here.
Why? Because there is no cloud.
The "cloud" is just an abstract term that we used to use when drawing diagrams of networking infrastructure or system architecture. The "cloud" is drawn to represent parts of the diagram we either don't control at all, or don't care enough about how they work to include them in our documentation, or both. Normally this refers to things outside of our network, or just the internet in general.
This is what drives me nuts about the usage of the term "cloud" in the media. In their view, anything that lives outside of a user or company's machines or on-site storage is "on the cloud", implying that the user or company has no control of it or doesn't care how it works - which is bogus. Everyone I know who is doing something with a so called "cloud provider", be it AmazonAWS or Google AppEngine (notice there is no "cloud" in those titles) knows how those services operate, how their data is being managed on it, incorporates the internal workings of the service in to their architectures, and have plans in place to make sure they aren't totally wed to storing that data and applications on those services with some semblance of disaster recover in place were something to go horribly wrong.
Viewing those services as "a cloud" is just dead wrong. When dealing with my clients with work on Amazon EC2, I'm very careful not to refer to anything as "the cloud" to them. It's either "servers/elasticIPs,volumes on ec2" or "storage on s3". I want my clients to understand specifically that the services we are dealing with are services that we should own the process for using and understand how it works. The services are not an abstraction. They are real. In fact, I'd argue that this whole "cloud" movement changes nothing other than
- The interfaces for how we deal with storage and application hosting are now remotely programatically accessible - this is a good thing. Essentially traditional system administrators are being replaced with APIs, which is great revenge given their previous collective views of everyone else in the world.
- The previously mentioned storage and hosting is now distributed. By now we should all know that making things distributed is better for us all.
What I'd like to see happen is for anyone who talks about the "cloud" actually refer to those platforms by what they really are. Call "the cloud" for your Apple stuff MobileMe and describe it in the terms used for MobileMe. Describe your applications living on ec2 and your messages living in Amazon SQS. Stop using the blanket term "cloud". There is no cloud.