Today, t's very overcast here in New England.
Time to write about clouds, I guess.
These days, I often end up talking with a variety of audiences about cloud concepts, or -- at least -- EMC's interpretation of them. Talking about something a lot, with a lot of different people, helps you get better at explaining concepts over time.
And sometimes in the process, you come up with some interesting analogies to help explain nuanced concepts.
I Think We're Losing The Battle
At least, the battle to have a reasonably consistent and precise agreement on "what is cloud" and, more importantly, "what is not cloud".
It's not so much that there's disagreement, it's more that everyone seems to want to jump on to the concept. It seems that these days any IT service provided over a wire can be called "cloud", rather than "service" or even "SaaS".
Sigh. If all you can see is a cloud in every direction, maybe we should rechristen it "fog computing".
The Analogy
This came up in a phone interview the other day. The person asked me to draw an analogy with what a cloud was, and how to think about it. So I tried to come up with something a bit different. Let me know how I did?
I asked this person to think for a moment about how a modern computer was built.
You had multiple processing elements and associated memory.
You had disks that stored information.
You had the ability to run multiple applications at the same time, maybe cooperating, maybe not.
And, most likely, you had an operating system that managed performance, availability, security and related things.
Connecting the various components were "wires" (ok, not really, but we're keeping it simple). Even though the computer had lots of discrete components, the wires and the operating system made it function as a conceptual whole so you could get serious work done.
Now, let's imagine Really Long Wires. Maybe the internet?
We still have multiple processing elements and associated memory. We still have disks that store information. We still have the ability to run multiple applications, maybe cooperating, maybe not.
It's just that the wires are a bit different -- they're much longer, and much slower. That's one way to describe a cloud.
OK, I'm With You So Far. What Makes This Interesting?
Well, if you think about the internet, the good news is that billions of things can all communicate at the same time. That makes for potentially reallly, really big computers. Entities are free to join, or leave, as they see fit -- that makes the environment flexible, expandable, elastic, whatever.
The key challenge, among other things, is that bandwidth and latency is a big issue.
When you look at the traditional connections inside a computer, you'll find very fast pipes that can move astounding amounts of information in a fraction of a fraction of a second.
When you look at the internet connections outside of a computer, you'll find much more humble numbers in terms of bandwidth and latency.
So the operating system has an very challenging task at hand to combine these available dispersed resources, connected by really slow and unpredictable wires, and lash them together into a useful, productive whole.
Do You Travel?
I asked this person if they've ever been in, say, Australia, and tried to access a big file that was located in either the US or Europe. Occasionally, they have, and they're amazed at how painful the process was.
So, I say, that makes it important that the application and the information are close to you, right? No fun trying to access something over that Really Big Wire if it's painful, not to mention expensive.
This means the cloud environment has an additional challenge of not only lashing everything together into a cohesive whole, but dynamically relocating important components (information and applications) closer to the user, in pursuit of a better (and more cost-effective) experience.
Computing and Information
Most people when they think of "cloud computing" tend to think of processors, applications, hunks of memory with code in them, and so on.
I often have to point out that all of those have to act on information. Compute without information access is of very limited use. Moving a small Java task or virtual machine is one thing. Moving gigabytes, terabytes or petabytes of information along with it is something else entirely.
So it's one thing to imagine compute tasks being orchestrated in a global cloud. And it's quite another to orchestrate the information logistics these cloud compute tasks need to get their job done.
Paradigm Shift
In a moment of possible cruelty, I then shifted the discussion a bit.
I stated that most people would consider the human brain one of the most powerful computing devices on the planet.
If you look at how it's constructed, it's billions upon billions of relative modest neurons. Not a lot of CPU power in a given neuron, to stretch the analogy a bit.
The connections are most definitely not high bandwidth, nor low latency. But there's umpteen billion connections, with new ones being made all the time.
And although there's a fair degree of specialization in how the brain is organized, it's amazingly flexible, elastic, redundant and expandable. We manage to find all sorts of interesting things to do with our brains as we evolve and progress. We put multiple brains together if it's a really hard problem.
The magic isn't in the hardware, it's in the software ...

Hope you don't mind an offbeat response but your blogs always get my mind wondering...
this time about the decisions made by groups of people. Here's two interesting perspectives...
- From a speech given by Michael Crichton:
Let’s be clear: the work of science has nothing whatever to do with consensus. Consensus is the business of politics. Science, on the contrary, requires only one investigator who happens to be right, which means that he or she has results that are verifiable by reference to the real world. In science, consensus is irrelevant. What is relevant is reproducible results. The greatest scientists in history are great precisely because they broke with the consensus.
And furthermore, the consensus of scientists has frequently been wrong. As they were wrong when they believed, earlier in my lifetime, that the continents did not move. So we must remember the immortal words of Mark Twain, who said, “Whenever you find yourself on the side of the majority, it is time to pause and reflect.”
- Decision Making in Communities: Why Groups of Smart People Sometimes Make Bad Decisions:
www.caionline.org/excerpts/index.cfm?ProductCode=5621
Mike
P.S. Excellent keynote at SNW... second only to Nicholas Negroponte's message imho.
Posted by: Mike Dutch | November 07, 2008 at 07:57 PM
Mike -- no, that's not offbeat at all. I am interested in decision theory, especially when large groups are involved.
Thanks for sharing!
-- Chuck
Posted by: Chuck Hollis | November 08, 2008 at 07:20 AM
Chuck,
Your blog and your style of writing does "provoke" people into thinking!!
Several years ago, there was this hype on a related subject:” thin clients". The idea was similar- computation was to be done centrally and the "thin clients" would just provide a user interface. I guess this idea took a back seat subsequently, since it was a bit inconvenient for the big boys like Intel and Microsoft, not to mention the disk drive manufacturers. Not having sufficiently fast data network infrastructure also helped
I may be taking a myopic view here but I tend to think of both these ideas (cloud-computing and thin-client) as belonging to the same gene-pool. It will be interesting to see how this shapes up as we move forward, especially after the proliferation of Datacenters. They may be the key champions of tomorrow in promoting cloud computing. Their key strength: They own the “last mile” connectivity to consumers.
regards
sudhir.brahma@gmail.com
Posted by: Sudhir Brahma | November 08, 2008 at 12:31 PM