Thursday, July 19, 2007

Competition, not greed, is good.

Utility computing concerns taking the idea of utility energy provision and applying it to the world of IT, so that companies buy computing resources in much the same way that they buy electricity - charged according to metered usage.

This market is growing, and will continue to grow in three distinct areas :-

SaaS (Software as a Service) : where entire applications are provided on a utility basis.

FaaS (Framework as a Service) : where an application development and deployment environment or framework is provided on a utility basis.

HaaS (Hardware as a Service) : where raw virtual machines are provided on a utility basis.

An ideal situation for any company, is where multiple providers of the same product exists (known as common service providers or CSPs) and where the company can switch between CSPs. Switching between CSPs will often be based upon price and quality of service.  As long as no lock-in exists and there are multiple providers of the same service, a competitive utility computing market should form.

This idea of a competitive utility computing market is viable at the SaaS, FaaS and HaaS levels. Each level is complimentary to each other - in that a SaaS app can be built upon a FaaS environment which can run on HaaS infrastructure. Each level is about achieving greater economies of scale and reduction of risk than any individual company can achieve.

The issues and the needs of a competitive utility computing market are also the same at each level - portability, multi-providers and agreed standards and solves the same class of problems - single source failure, access to resources, pricing competition, efficiency and exit costs.

In today's world the fastest way to achieve a standard is not through committee, conversation or whitepapers but through the release and adoption of not only a standard but also an operational means of achieving a standard. Hence such utility computing standards will only be achieved through the use of open source. This is the only way to achieve the level of interoperability that's required for easy transfer of code, data and processes without any one CSP being strategically disadvantaged to any owner of the standard (e.g. a product vendor).

Furthermore as the open source software model minimises lock-in to a utility computing service by encouraging other providers to enter the market and host an equivalent platform, this provides the pressure for a competitive utility computer market to form, with competition based upon price (for example CPU, bandwidth and storage), quality (SLA, TTFR) and capacity.

For background reading on why a marketplace is more efficient than a monopoly, I'd suggest Adam Smith (1723-1790) - "Monopoly ... is the great enemy to good management"

Or alternatively, for a less well versed argument, I'll be talking about this at OSCON.