Tuesday, February 24, 2009

Wide of the mark ...

There has been some excellent analysis about the recent announcement by Canonical of Karmic Koala. I'd like to take some time to respond to some of the questions raised in Matt Asay's post and by the comments left.

Can someone point me to a dumbed down explanation of the cloud?
Certain activities at various layers of the computing stack (application, platform and infrastructure) have become so ubiquitous and well defined that they are suitable for service provision through volume operations.

This transition from a product to a service based economy is behind the growth of the various "as a Service" industries. This is a disruptive shift which offers numerous benefit from economies of scale (through volume operations), focus on core activities (outsourcing), acceleration in innovation (componentisation) and pay per use (utility charging).

It also creates various risks (management, security and trust) related to the transitional nature of this shift, along with all the normal concerns around the outsourcing of a common activity (second sourcing options, competitive pricing pressures & lock-in).

Twenty years ago, this change was first described as utility computing. Today, the concepts of utility computing, this disruptive transition of the computing stack from a product to a service based economy, the growth of a new breed of volume operation specialists (the as a Service industry) and the underlying technologies supporting this change have been grouped together under the heading of cloud computing.

Open source strategy must be subordinated to a successful proprietary software strategy.
As ubiquitous and well defined activities in IT head towards service provision, i.e. "the cloud", the potential outcomes include regulated large scale monopolies or the formation of competitive marketplaces.

The advantages of creating a functioning marketplace are numerous. For consumers there exists freedom, choice and competitive pricing. For providers there exists reduction in adoption barriers and competitive advantage through operations. The formation of markets also creates other service related revenues such as brokerages, exchanges, support, assurance and insurance.

The full list of benefits are many and wide however competition in these markets will require standards and easy switching between providers, just as you have within the electricity industry.

Unfortunately the often cited analogy of electricity contains one major flaw. We are not neutral to our provider as we have a relationship with them (our data, code, meta data etc). For easy switching between providers we need the ability to move our relationships between providers, a choice in destinations and each provider to offer the same output. Whilst the output in the electricity industry is a standard provision of electricity, the cloud computing industry needs to standardise the output of various layers of the computing stack.

Naturally there will be more standard outputs in the application space (i.e. there are more types of applications) than in the infrastructure space. However, the only practical way of achieving this is for those standards to be open source reference models, i.e. complete functioning and running open source code.

I discussed this at length at OSCON in 2007 and at much earlier talks.

Furthermore, for a ubiquitous and well defined activity, open source fundamentally makes more sense as any value relates to service provision rather than the marginal feature differentiation of an common application. The premise that open source must be sub-ordinated to proprietary technology is faulty in this case.

That strategy increasingly points to tethering an open server (and desktop) with closed cloud services. That's not a critique. It's a fact.
The move towards competitive marketplaces based upon open sourced standards should benefit consumers (choice and freedom), providers (removal of adoption barriers) and society overall (acceleration in innovation).

This will require standardisation around open source reference models and easy switching between providers. I trivialised these concepts with my post on the three rules happy of cloud computing.

Rule 1: I want to run the service on my own machine.

Rule 2: I want to easily migrate the service from my machine to a cloud provider and vice versa with a few clicks of a button.

Rule 3: I want to easily migrate the service from one cloud provider to another with a few clicks of a button.

At the infrastructure layer of the stack, Canonical's approach to cloud computing can be clearly seen as helping support the development of standards, to promote open source in the cloud computing space, to build an ecosystem and to make users Rule 1 happy. This however is not the end but the beginning of a journey.

Mark made the comment that it would be apt to make it easier to navigate the jungle. Navigation is inherently all about movement and freedom of choice.

I firmly and absolutely believe in choice for users and the creation of competitive markets and ecosystems. Users and providers should not be limited to a proprietary framework or any single source.

Whilst Matt is obviously not taking pot shots at Karmic Koala and his blog is an excellent read, his reasoning here is somewhat wide of the mark. Of all the trees in the forest, the Koala loves Eucalyptus.