Monday, March 07, 2011

Componentisation

Herbert Simons showed in the Theory of Hierarchy how the evolution of a system is dependent upon the organisation of its subsystems. In short, as an activity becomes commoditised and provided as ever more standardised components, it not only allows for increasing speed of implementation but also rapid change, diversity and agility with systems that consume the activity as a subsystem.

In other words, the creation of standard sizes of bricks, pipes, utility services and other architectural building blocks led to a faster rate of house building and a wider diversity of housing shapes. It's the same with electronics and every other field you care to look at.

Commoditisation to standard components leads to an explosion of innovation for higher order systems.

The cloud is no different. It's the creation of good enough, standard components which will cause a wide diversity of higher order systems. These will in turn undergo their own evolution to more of a commodity. Without this process we would never have got to a CPU, let alone cloud or the hugely complex systems that will develop from it.

This also doesn't mean that innovation stops with the standard components. Whether it's brick making or electricity provision, there is a huge amount of operational innovation hidden behind the "standard" however the "standard" acts as an abstraction layer to this. Just because my electricity supplier has introduced new sources of power generation (wind turbine, geothermal etc) doesn't mean I wake up one morning to find that we're moving from 240V 50Hz to something else. If that constant operational innovation was not abstracted behind the standard then all the consumer electronics built upon this would need to continuously change - the entire system would collapse in a mess.

Whilst cloud computing is all about commodity provision of computing resources through utility services, these components act as the abstraction layer. We're not quite there yet, we're still in transition from a product to a utility service world. However, even in that utility service world, providers will still innovate in terms of operations but to a consumer that will be abstracted and ultimately reflected in better price and quality of service. To the consumer this will be seen as operational efficiency and the activity itself for all sense of purpose will remain a commodity, just like electricity and every other industry that has undergone this change. Of course, I'll do more things with it, create new and ever more complex higher order systems but my innovation is based upon the activity being provided as a commodity.

I can understand how many people don't relish the prospect that some activities within IT are becoming more of a commodity. They may not realise the benefits this will create in terms of progress but at the same time as they cry this isn't happening they happily consume systems which depend upon this process.

If you really don't like the idea of commoditisation and componentisation then try getting by without using anything which has depended upon it. Try building a computer without a CPU, electronics, electrical power supply or even nuts and bolts.