Thursday, December 04, 2008

Finally .... I have connection again!

After five weeks, I finally have connection again. There is lots I'd like to talk about but it's late, so I'll have to wait until this weekend.

However, I will note that there seems to be a growing argument that open standards will provide portability in the cloud world. This idea is seriously flawed and there is a far simpler way to ensure portability between one cloud environment and another. The solution is for both providers to offer an identical service.

The simplest way this can be achieved is if the standard for the service is not a written specification but an operational open sourced stack built with portability in mind. It doesn't matter what layer of the computing stack you're talking about.

I used identical because if the standard is an open sourced stack then there is nothing preventing a provider making operational improvements in the code whilst still maintaining exactly the same functionality. This is why GPLv3 and not AGPL is so important for the cloud world.

Back in 2006-7, I described this concept as an open sourced standard but you can think of it as an open pattern (thanks to Doug Neal) with competition around service provision. By providing the service as an open sourced standard, you can not only solve the issue of portability but also provide a faster means of implementing and hence achieving a defacto standard.

Of course a focus on service provision is in line with the shift of IT from a product to a service based economy, which is what cloud computing is really all about. I covered many of these subjects back at OSCON in 2007.

Whilst none of these ideas are new, the lack of portability is a result of the normal jostle of competitors in an emerging market. This will continue to provide a clear stumbling block for adoption and prevent the formation of functioning exchanges and brokerages.

I suspect that open standards will continue to be cited as a possible solution but the problem with these standards is that they define what can be done, not what can't be done. Product differentiation is the mortal enemy of portability.

Of course, you could achieve portability with a proprietary stack but only if consumers and providers are willing to sacrifice a major element of strategic control to a technology vendor. I wouldn't be surprised if Microsoft achieves this with Azure.

Of course, the simplest answer to all of these problems is open source. In less than a decade, I suspect you will find that the entire cloud world is either based upon open sourced stacks with provider competition around Price and QoS or we'll have ended up with government regulation.