Utility computing: Difference between revisions
No edit summary |
|||
Line 17: | Line 17: | ||
=== Grid Computing === |
=== Grid Computing === |
||
Grid computing is very closely related to utility computing |
Grid computing is very closely related to utility computing, the main difference is that grid computing define the technical implementation of utility computing - grid of computers. |
||
=== Distributed Computing === |
=== Distributed Computing === |
Revision as of 10:01, 28 May 2007
This page or section may contain link spam masquerading as content. |
Utility computing (also known as Cloud computing) is a computing method that allows users to run their own programs on one or more servers as needed. Utility computing generally utilizes some form of virtualization so the number of "servers" being used may be different from the actual number of physical computers being used. This allows users to perform high performance computing they would not otherwise be able to accomplish without a high personal investment in computer hardware. They simply pay for the computer time and resources used.
This is different with the conventional computing model in that customers do not have to invest in owning (peak need) resources anymore, but only are billed for the actual use of resources. As the utility computing provider can spread the customers' variance in resource needs, the utilization of the resources can be optimized.
This is comparable to the use of electricity, gas, and most other utilities, hence the name utility computing.
As the Utility Computing service is based on usage, computing resources are metered and the user charged on that basis. Utility computing is sometimes also called On Demand Computing.
Comparisons to other computing methods
Time-sharing
Utility computing is similar to time-sharing in that it allows users to perform their programs or computation problems on someone elses computers. Users are not directly sharing the resources of a single machine, but are instead using many machines at once. Time-sharing systems sometimes had resource contention where a user with a large project may cause others users projects to become slow or unresponsive. This problem may still happen with utility computing, but it is generally not an issue since there are so many more machines and computing power available to be shared among the users.
Grid Computing
Grid computing is very closely related to utility computing, the main difference is that grid computing define the technical implementation of utility computing - grid of computers.
Distributed Computing
Distributed computing projects such as the Gene Folding project or SETI@Home work by having specialized programs work together on the same project. Each machine is independent of the others and work is generally co-ordinated by a central server which controls the work done by all the others. Utility computing does not necessarily have any central server to co-ordinate the work done by the different machines. Most distributed computing projects are also run by strangers who download the client software to offer their computers spare cycles to the project. Utility computing only runs software on their own collection of servers.
Cluster Computing
A cluster involves making many computers work together as if they were a single computer, with shared memory, storage as so on. The users program may scale across the all the computers but appear as if it's running on a single large computer.
History
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
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 eqipment. 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 hardare 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.
Enabling Utility Computing
High Performance Computing(HPC) organizations have multiple options for enabling utility computing at their own organizations. Software solutions include:
- PolyServe's Database Utility and File Serving Utility
- Various Veritas solutions
- Platform’s Enterprise Grid Orchestrator
- Egenera’s BladeFrame
- Cassatt Collage
- Scali Manage
- Enomalism Elastic Computing Platform
Similarly, Utility Computing is available in the form of pay-as-you-go hosting services for developers - these differ from most offerings in that there is no fixed monthly fee:
- Amazon S3 - Bulk storage and bandwidth for static content
- Amazon EC2 - Pay by the hour CPU
- NearlyFreeSpeech - Pay as you go web hosting for web pages, dynamic content, domains, DNS, etc
- Sun Microsystems Sun Grid - Pay by the CPU hour
- Strikeiron Web Services Marketplace - Pay per Web API call.
- USi an AT&T company - USiPinnacle - Pay-as-you-go enterprise applications
- Zimki - Javascript based utility computing system. Pay by bandwidth, storage, and javascript operations.
- ElasticLive Utility web hosting service based on Amazon's Elastic Compute Cloud
- InsynQ utility computing services
- CPAASP online accounting solutions for on-demand enterprises
- Distributed Potential Pay-Per-Use Grid Computing Capacity
- Dell Inc. have a specific Cloud Computing Solution through their Datacenter Solutions Division
See also
External links
- Technical documents