Grid and Cloud: public and commercial computing paradigms
June 29, 2011
Posted by on
Grid computing is a form of distributed and parallel computing used to achieve a common computing goal with the help of a federation of distributed computing devices. On the other hand cloud computing is to deliver computing as a service (NIST). The grid consumers collectively manage the grid whereas cloud consumers play no role in managing or controlling the underlying infrastructure.
A computing grid is a dispersed collection of loosely coupled computing resources to form a single powerful virtual computer. It is a system of heterogeneous resources distributed across the globe under multiple trust domains. In contrast, a cloud converts a set of powerful physical computers into multiple low-power virtual machines; a hardware virtualization in which a tightly coupled logical cluster of computing infrastructure is formed under a single administrative domain but with multiple tenants.
This might be a simplistic view to differentiate a grid from cloud but quite true based on the fact grid computing was evolved and cloud computing is being offered. Virtual machines are basic building blocks in cloud computing infrastructures, whereas grids are evolved by connecting distributed collections of physical machines mainly because virtual machine technology was not mature enough at the time. The major focus of the grid is to address challenging scientific problems but cloud is evolved to fulfill business community needs.
The true essence of grid computing is collaboration; a powerful culture that encourages scientific communities to collaborate by sharing computing resources and scientific findings (in the form of data) with each other in order to achieve a common goal; that is to understand natural phenomenons and uncover mysteries of the universe. Scientific institutions and individuals exchange their public credentials, make their idle resources available, and use the common pool of shared resources on-demand. The more you share the more you get.
In an ideal world grid resources are available immediately on-demand; in reality however one has to compete for them and sometime wait for their availability. This leads to the requirement of a grid middleware; a sophisticated distributed set of high-level services that includes, security, scheduling and resource management for discovery, correlation and advance reservation. The middleware in the grid is another major thing that distinguishes it from cloud.
Cloud computing provides simplicity and availability. Cloud does not need middleware but it can host grid services to form highly available grid middleware infrastructure. Cloud evolved from the grid concepts like on-demand provisioning and scaling (both up scaling and out scaling). High availability is a general concept that is present for any kind of service. Cloud computing is a natural evolution of grid computing, utility computing and ubiquitous computing. However, it does not replace the grid but can be used to extend the grid, for example, to make the grid middleware more robust, scalable and highly available.
The real founding principle of the grid i.e. collaboration would keep the public computing infrastructure alive.