Utility computing is the packaging of
computing resourcesIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems....
, such as computation and storage, as a metered service similar to a traditional
public utilityA public utility is an organization that maintains the infrastructure for a public service . Public utilities are subject to forms of public control and regulation ranging from local community-based groups to state-wide government monopolies...
(such as
electricityElectricity is a general term that encompasses a variety of phenomena resulting from the presence and flow of electric charge...
,
waterWater is an ubiquitous chemical substance that is composed of hydrogen and oxygen and is essential for all known forms of life.In typical usage, water refers only to its liquid form or state, but the substance also has a solid state, ice, and a gaseous state, water vapor or steam. Water covers 71%...
,
natural gasNatural gas is a gas consisting primarily of methane. It is found associated with fossil fuels, in coal beds, as methane clathrates, and is created by methanogenic organisms in marshes, bogs, and landfills...
, or telephone network). This system has the advantage of a low or no initial cost to acquire hardware; instead,
computational resourceIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems....
s 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 serviceAn Internet hosting service is a service that runs Internet servers, allowing organizations and individuals to serve content to the Internet. There are various levels of service and various kinds of services offered....
s have the capability to quickly arrange for the rental of individual servers, for example to provision a bank of
web serverThe term web server or webserver can mean one of two things:# A computer program that is responsible for accepting HTTP requests from clients , and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects .# A computer that...
s to accommodate a sudden surge in traffic to a web site.
"Utility computing" has usually envisioned some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single
time-sharingTime-sharing is sharing a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing...
computer.
Utility computing is the packaging of
computing resourcesIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems....
, such as computation and storage, as a metered service similar to a traditional
public utilityA public utility is an organization that maintains the infrastructure for a public service . Public utilities are subject to forms of public control and regulation ranging from local community-based groups to state-wide government monopolies...
(such as
electricityElectricity is a general term that encompasses a variety of phenomena resulting from the presence and flow of electric charge...
,
waterWater is an ubiquitous chemical substance that is composed of hydrogen and oxygen and is essential for all known forms of life.In typical usage, water refers only to its liquid form or state, but the substance also has a solid state, ice, and a gaseous state, water vapor or steam. Water covers 71%...
,
natural gasNatural gas is a gas consisting primarily of methane. It is found associated with fossil fuels, in coal beds, as methane clathrates, and is created by methanogenic organisms in marshes, bogs, and landfills...
, or telephone network). This system has the advantage of a low or no initial cost to acquire hardware; instead,
computational resourceIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems....
s 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 serviceAn Internet hosting service is a service that runs Internet servers, allowing organizations and individuals to serve content to the Internet. There are various levels of service and various kinds of services offered....
s have the capability to quickly arrange for the rental of individual servers, for example to provision a bank of
web serverThe term web server or webserver can mean one of two things:# A computer program that is responsible for accepting HTTP requests from clients , and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects .# A computer that...
s to accommodate a sudden surge in traffic to a web site.
"Utility computing" has usually envisioned some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single
time-sharingTime-sharing is sharing a computing resource among many users by means of multiprogramming and multi-tasking. Its introduction in the 1960s, and emergence as the prominent model of computing in the 1970s, represents a major technological shift in the history of computing...
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
supercomputerA supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputers were introduced in the 1960s and were designed primarily by Seymour Cray at Control Data Corporation , and led the market into the 1970s until Cray left to form...
. The technique of running a single calculation on multiple computers is known as
distributed computingDistributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
.
The term "
grid computingGrid computing is the combination of computer resources from multiple administrative domains applied to a common task, usually to a scientific, technical or business problem that requires a great number of computer processing cycles or the need to process large amounts of data.One of the main...
" is often used to describe a particular form of distributed computing, where the supporting nodes are geographically distributed or cross
administrative domainAn administrative domain is a collection of hosts and routers, and the interconnecting network, managed by a single administrative authority....
s. 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 computingVolunteer computing is a type of distributed computing in which computer owners donate their computing resources to one or more "projects".-History:...
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 OrganizationIn Grid computing, a Virtual Organization refers to a dynamic set of individual and/or institutions defined around a set of resource-sharing rules and conditions...
(VO), is more decentralized, with organizations buying and selling
computing resourcesIn computational complexity theory, a computational resource is a resource used by some computational models in the solution of computational problems....
as needed or as they go idle.
The definition of "utility computing" is sometimes extended to specialized tasks, such as
web serviceA Web service is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format...
s.
History
Utility computing is not a new concept, but rather has quite a long history. Among the earliest references is:
IBM and other mainframe providers conducted this kind of business in the following two decades, often referred to as time-sharing, offering computing power and database storage to banks and other large organizations from their world wide data centers. To facilitate this business model, mainframe operating systems evolved to include process control facilities, security, and user metering. The advent of mini computers changed this business model, by making computers affordable to almost all companies. As Intel and AMD increased the power of PC architecture servers with each new generation of processor, data centers became filled with thousands of servers.
In the late 90's utility computing re-surfaced. InsynQ (
http://www.insynq.com), Inc. launched [on-demand] applications and desktop hosting services in 1997 using HP equipment. In 1998, HP set up the Utility Computing Division in Mountain View, CA, assigning former Bell Labs computer scientists to begin work on a computing power plant, incorporating multiple utilities to form a software stack. Services such as "IP billing-on-tap" were marketed. HP introduced the Utility Data Center in 2001. Sun announced the Sun Cloud service to consumers in 2000. In December 2005,
AlexaAlexa Internet, Inc. is a California, U.S.-based subsidiary company of Amazon.com that is known for its toolbar and website. Once installed, the toolbar collects data on browsing behavior which is transmitted to the website where it is stored and analyzed and is the basis for the company's web...
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 systemA clustered file system is a file system which is simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ 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.
In spring 2006
3tera3tera, Inc., is a developer of system software for utility computing and cloud computing. It is headquartered in Aliso Viejo, California....
announced it's AppLogic service and later that summer Amazon launched Amazon EC2 (Elastic Compute Cloud). These services allow the operation of general purpose computing applications. Both are based on
XenIn computing, Xen is a virtual-machine monitor for x86, x86-64, Itanium and PowerPC 970 architectures. It allows several guest operating systems to execute on the same computer hardware concurrently...
virtualization software and the most commonly used operating system on the virtual computers is Linux, though Windows and Solaris are supported. Common uses include web application, SaaS, image rendering and processing but also general-purpose business applications.
Utility computing merely means "Pay and Use", with regards to computing power.