Utility computing (also known as cloud computing or on demand computing) is the packaging of computing resources, such as computation and storage, as a metered service similar to a physical public utility (such as water or natural gas). This system has the advantage of a low or no initial cost to acquire hardware; instead, computational resources are essentially rented. Customers with very large computations or a sudden peak in demand can also avoid the delays that would result from physically acquiring and assembling a large number of computers.
Conventional Internet hosting services have the capabilty to quickly arrange for the rental of individual servers, for example to provision a bank of web servers to accommodate a sudden surge in traffic to a web site.
Virtual Organizations accessing different and overlapping sets of resources
"Utility computing" usually envisions some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single time-sharing computer. Multiple servers are used on the "back end" to make this possible. These might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under-utilized supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing.
The term "grid computing" is often used to describe a particular form of distributed computing, where the supporting nodes are geographically distributed or cross administrative domains. To provide utility computing services, a company can "bundle" the resources of members of the public for sale, who might be paid with a portion of the revenue from clients.
One model, common among volunteer computing applications, is for a central server to dispense tasks to participating nodes, on the behest of approved end-users (in the commercial case, the paying customers). Another model, sometimes called the virtual organization,[citation needed] is more decentralized, with organizations buying and selling computing resources as needed or as they go idle.
Defining Utility Computing
The definition of "utility computing" is sometimes extended to specialized tasks, such as web services.
Utility computing is not a new concept but has a long history. It was first described as:
|
“ |
If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry. |
„ |
|
—John McCarthy, MIT Centennial in 1961 |
Utility Computing in Industry
IBM conducted this kind of business offering computing power and database storage to big banks from its world wide data centers. As Intel increased the desktop power, the computer architecture has gone through terminal/mainframe, client/server, browser/middleware.
Recently, it was re-initiated by Sun offering the Sun Grid service to consumers in 2000. InsynQ ([1]), Inc. launched utility computing, [on-demand] applications, and desktop hosting services in 1997 using HP equipment. HP introduced the Utility Data Center in 2001. Since 2000 many important computing companies have entered the market, but there have also been smaller organizations that have used utility computing. Some of these organizations use utility computing to help offset the cost of their own hardware, others use it to share the cost of resources within organizations.
In 1999, InsynQ launched [e-Accounting], focusing on providing Intuit's QuickBooks accounting products as on-demand application services. In December 2005, Alexa launched Alexa Web Search Platform, a Web search building tool for which the underlying power is utility computing. Alexa charges users for storage, utilization, etc. There is space in the market for specific industries and applications as well as other niche applications powered by utility computing. For example, PolyServe Inc. offers a clustered file system based on commodity server and storage hardware that creates highly available utility computing environments for mission-critical applications including Oracle and Microsoft SQL Server databases, as well as workload optimized solutions specifically tuned for bulk storage, high-performance computing, vertical industries such as financial services, seismic processing, and content serving.
The Database Utility and File Serving Utility enable IT organizations to independently add servers or storage as needed, retask workloads to different hardware, and maintain the environment without disruption.