One of the benefits of moving to a cloud infrastructure for IT services should be a reduced cost. The economies of scale for having specialized staff, licensing, etc. are more evident when you have more of everything. The larger you are, the more efficient you ought to be. For some companies, this can be achieved internally because they have such a large number of computers, but for many companies, I think they seriously struggle with the cost of staff and infrastructure for technology.
A company that looks to build a technology infrastructure has to make an investment and across a short period of time, they are locked into the hardware that has been purchased. Often we find individual departments are unsure they are receiving a fair share of the IT services, which has resulted in large chargeback systems being implemented that usually have a lot of overhead.
Microsoft appears to be trying to deal with this in an interesting way. It has collected, and published, very detailed data on how the services in its data centers are being used. These are essentially a private cloud for many business units at Microsoft, and the ability to see how costs are being spent in applications, services, even help desk tickets, which can drive behavior.
Developers now have an incentive to build better applications, since the cost of a poorly performing application is more easily determined. I would even assume that accounting for metrics in development environments should help people test different solutions, and perhaps even start to determine when one should spend more time optimizing code and when someone should allocate more hardware.
I don’t know if other cloud computing vendors will start to offer detailed use analysis and charges for the use of their services, but I expect that if they did, it would be something that many CFOs, and CTOs might want to see in analyzing the value they get from their public, or private cloud infrastructures. I know that I’ve found value in all the detailed metrics that we get in costing SQL Server queries through DMVs, wait states, and other metrics, which can certainly help one write code much more efficiently.