One of the questions surrounding commercial cloud computing that seems to continue to elude a clear answer is "Should Cloud Computing services be developed as commodities?" Less succinctly, the question is whether services should become completely interchangeable with respect to the functionality they support so that price is their only differentiating factor.
Initially, most consumers, or potential consumers, of cloud services seem to respond very enthusiastically to the prospect of interchangeable commodity services. The belief appears to be that interchangeability will lead to competition between service providers as no provider will be able to "lock in" its customers based on a specific functionality. Competition will have the twin benefits of driving the price down and creating redundancy in the market so that customers can be insulated from the effects of a possible failure of a single vendor.
One of the effects of commoditization, however, is that only the services that have been commoditized receive these benefits making others more expensive to develop and maintain. That is, the price and efficiency pressure caused by commoditization forces disefficiencies in technological approaches that have yet to be commoditized.
More concretely, one of the questions we grapple with concerns the degree to which we wish to specialize Eucalyptus for a particular API or style of cloud computing. Eucalyptus was designed, originally, to support research and as a result, then we tried to make the open-source code base as general as possible and to be amenable to customization and optimization. Thus the goal was to stimulate a diversity of configurations and installations. As standardization pressure mounts, however, we contemplate specializing the platform to implement better specific cloud features at the possible expense of generality and portability. Resolving this tension continues as a challenge to the development of any open-source platform for such a rapidly evolving technology.