Cloud = New Lego (building blocks of compute)

Let me explain.

A really old post by James Urqhart from 2007 surfaced on Twitter the other day and it got me thinking- Is Cloud the new lego- i.e. the building blocks of computing?

I posted the other day about the build v.s. buy dilemma and I argued that cloud is changing that debate because it's loosely coupled and continuously innovating. Why would you want to build non-differentiating assets when you could buy them cheaper, better, faster etc. Allow yourself to focus on your differentiation.

I realised this week that we're actually talking about a new type of building blocks in computing- a new type of computing lego if you will.

But it's a pendulum that's been swinging for a long time and I'm a relative newcomer. As with each of the previous paradigm shifts, the next paradigm brings advantages that were expensive or hard to achieve in the previous shift. Cloud represents that shift today. Back to James's post:

John Holland (as told in Waldrop's history) defined complex systems as having the following traits:
  • Each complex system is a network of many "agents" acting in parallel
  • Each complex system has many levels of organization, with agents at any one level serving as the building blocks for agents at a higher level
  • Complex systems are constantly revising and rearranging their building blocks as they gain experience
  • All complex adaptive system anticipate the future (though this anticipation is usually mechanical and not conscious)
  • Complex adaptive systems have many niches, each of which can be exploited by an agent adapted to fill that niche
Now, I don't know about you, but this sounds like enterprise computing to me. It could be servers, network components, software service networks, supply chain systems, the entire data center, the entire IT operations and organization, etc. What we are all building here is self organizing...we may think we have control, but we are all acting as agents in response to the actions and conditions imposed by all those other agents out there.

He's right- that does sound like enterprise computing and it's interesting as his viewpoint has migrated from 3 years ago being a data centre / SLA / SOA specialist then to a Cloud specialist now. So it was with ire that I read this article, BBC mulls cloud support for London 2012 coverage:

The London 2012 Olympics are a little under two years away, and the BBC is considering cloud computing as a way of meeting the enormous viewer demand that the games will create. But in the current economic climate, simply throwing money at the problem is not an option, as BBC CTO John Linwood explained: "We're looking at what is the most cost-effective way of delivering what we need to do. Clearly we have to find ways of [covering the games] which don't involve going out and building huge amounts of infrastructure that won't be used beyond the Olympics. We're looking at everything from straight-forward caching to on-demand cloud." However, the cloud can bring more benefits than just an elastic response to viewer demand, according to Linwood. Using the cloud to facilitate digital storage of broadcast output and other information is something the BBC was considering before the question of Olympic coverage was raised.

It would be criminal if the BBC wasn't thinking of using the Cloud for some of Olympics- it's got a perfect use case! They went on:

"Virtualisation is the first step to get us into a position to use the cloud. We're looking at providing centralised storage, rather than having storage sprinkled around the BBC. We could have a centrally managed storage cloud that's used on demand by different parts of the organisation," Linwood said. Using the cloud for storage brings additional security concerns to an organisation, as information is stored on servers outside a company's direct control. Linwood admitted: "There's clearly content we'd never put into the cloud, for example licence fee and viewer information, and source information from our journalists. We're working with potential cloud providers around their security models to make sure it's safe."

Oh, and lets confuse people even more by dropping the "V word"  in there why don't you. Virtualisation does not equal cloud! How and why would you virtualise storage? Oh and let's sprinkle some security concerns too ARGH! :(

The reality is today that Cloud technology represents the next type of building blocks for compute- both public and private. Now where's my lego?