Utility computing

Utility computing can be defined as:

"…a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate.
[...]
The word utility is used to make an analogy to other services, such as electrical power, that seek to meet fluctuating customer needs, and charge for the resources based on usage rather than on a flat-rate basis. This approach, sometimes known as pay-per-use or metered services is becoming increasingly common in enterprise computing and is sometimes used for the consumer market as well, for Internet service, Web site access, file sharing, and other applications." (See TechTarget.com)

In the Spring 2005 issue of the MIT Sloan Management Review, Nicholas Carr's article, "The End of Corporate Computing", expanded on the business drivers for moving to utility computing:

"...As a business resource, information technology today looks a lot like electric power did at the start of the last century [when manufacturers built and maintained their own generators]. Companies go to vendors to purchase various components — computers, storage drives, network switches and all sorts of software — and cobble them together into complex information-processing plants, or data centers, that they house within their own walls. They hire specialists to maintain the plants, and they often bring in outside consultants to solve particularly thorny problems. Their executives are routinely sidetracked from their real business — manufacturing automobiles, for instance, and selling them at a profit — by the need to keep their company’s private IT infrastructure running smoothly.
The creation of tens of thousands of independent data centers, all using virtually the same hardware and, for the most part, running similar software, has imposed severe penalties on individual firms as well as the broader economy. It has led to the overbuilding of IT assets, resulting in extraordinarily low levels of capacity utilization. One recent study of six corporate data centers revealed that most of their 1,000 servers were using just 10% to 35% of their available processing power. Desktop computers fare even worse, with IBM estimating average capacity utilization rates of just 5%. Gartner indicates that between 50% and 60% of a typical company’s data storage capacity is wasted. And overcapacity is by no means limited to hardware. Because software applications are highly scalable — able, in other words, to serve additional users at little or no incremental cost — installations of identical or similar programs at thousands of different sites also create acute diseconomies, in both upfront expenditures and ongoing costs and fees. The replication, from company to company, of IT departments that share many of the same technical skills represents an over-investment in labor as well. According to a 2003 survey, about 60% of the average U.S. company’s IT staffing budget goes to routine support and maintenance functions. When overcapacity is combined with redundant functionality, the conditions are ripe for a shift to centralized supply. Yet companies continue to invest large sums in maintaining and even expanding their private, sub-scale data centers. Why? For the same reason that manufacturers continued to install private electric generators during the early decades of the 20th century: because of the lack of a viable, large-scale utility model. But such a model is now emerging..." (See Nicholas Carr's blog)

Organisations "outsourcing" their IT to utilities lose the ability to tightly specify and manage their own IT infrastructure. So, how can they ensure that their needs are met? David Jackson of Cluster Resources talks about dynamic relationships that are created to ensure the utility meets the customer’s requirements:

"Utility computing is the next frontier. It is taking everything that is good about clusters and grids and adding the ability to first, dynamically establish relationships, and second, build complete compute environments. These relationships are completely flexible, but encompass new service guarantees, charging and workload management protocols. The compute environments can be built on-the-fly and are holistic, incorporating network, storage, compute and software resources together with supporting services. The key to utility computing is perfect transparency and tight integration. When the customer needs it, his cluster just gets bigger or changes to become what is needed for the workload. When a node or a network goes down, it gets replaced. Yes, there is a lot of things going on behind the scenes to create this magic, but, to the end user, it's all magic." (See GRIDtoday)