Cloud Computing vs Utility Computing vs Grid Computing
The Pacific Ocean is a water body, but not all water bodies are Pacific Oceans. This may be oversimplifying the situation but you do get the drift. Grid computing and utility computing, though sharing several attributes with cloud computing, are merely subsets of the latter. They may also be considered as implementations of cloud computing, rather than being different names for the same technology.
Before analyzing this further, it is necessary to define grid computing and utility computing. It is noteworthy that the nomenclature of both grid and utility computing is derived from the electricity system. The first term originated from Ian Foster’s and Carl Kesselman’s seminal work, “The Grid: Blueprint for a new computing infrastructure” (2004), as a metaphor for making computer power as easy to access as an electric power grid. “Utility computing” originates from the process of making IT infrastructure and resources available as a metered service similar to a traditional public utility like electricity.
Grid computing can be defined as the use of computer resources from multiple administrative domains to reach a common goal. It can be considered as a distributed system with non-interactive workloads involving a large number of files, yet more loosely coupled, heterogeneous, and geographically dispersed as compared to cluster computing. In its simplest form, grid computing may be represented as a “super virtual computer” composed of many networked loosely coupled computers acting together to perform humongous tasks.
Utility computing involves the renting of computing resources such as hardware, software and network bandwidth on an as-required, on-demand basis. In other words, what were earlier considered products, are treated as services in utility computing. The idea was first propounded by American computer scientist John McCarthy of MIT as early as 1961, when he had said, “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.”
Although both grid computing and utility computing were precursors to cloud computing, nowadays they can be considered as implementations of the latter (but not always, as I’ve explained later). For cloud computing does everything grid computing and utility computing do, and much more. For example, cloud computing is not restricted to specific networks, but is accessible through the biggest network of them all – the Internet. Also, virtualization of resources and its consequent advantages of scalability and reliability are much more pronounced in cloud computing.
Note that utility computing can be implemented without cloud computing. Consider a supercomputer that rents out processing time to multiple clients. This is an example of utility computing as users pay for resources used. However, with only one location and no virtualization of resources, it cannot be called cloud computing. At the same time, grid computing may always be considered a weaker form of cloud computing as there’s always some virtualization involved. However, chances of a grid failing due to failure of a single location that may be considered more important than the others is a distinct possibility, unlike cloud computing where redundancy makes such situations manageable.
At the end of the day, we can say that grid computing is a weaker form of cloud computing, bereft of many of the benefits that the latter can provide. As for utility computing, it may be considered more of a business model than a specific technology. Although cloud computing supports utility computing, not all utility computing is based on the cloud.
By Sourya Biswas