In the world of technical jargons associated with scalability of computing, cloud computing and grid computing are often mentioned in the same breath. This article hopes to offer some information about the two large-scale computer networking concepts, more notably the differences between them. It is important to start with the knowledge that they're not mutually exclusive!
Grid computing was something everyone talked about as "the next big thing" until it was replaced by the term, cloud computing. As some technology enthusiasts predicted, cloud computing did not spell the end of grid computing. It still exists outside the world of buzzwords and news bytes. Before we delve into how they differ, let us quickly refresh our minds with their definitions.
Grid Computing
The
concept of grid computing is not new. In a way, it is nothing but
parallel or distributed computing; however, the difference lies in the
scale and complexity! So imagine parallel processing at a level where
instead of sharing one or more resources, each and every computing
resource is shared among all the computers within the network (as if
they form an interconnected grid). Now imagine that the
grid can consist of several different authorized heterogeneous systems, even owned by different organizations! It would be
like a huge supercomputer with unmatched processing power, memory capacity and data storage
capacity suitable for the most complex computations, but really it is
just a network of interconnected computers. As far as the user of a grid
computer is concerned, he/she is just using the local computer (now a
supercomputer owing to the grid links) unaware of the links contributing
to the power and enormous complexity of the network grid or cluster to
which that machine belongs.
Cloud Computing
Cloud computing
in fact evolved from grid computing and belongs to the same paradigm of
load sharing within virtualized resources and providing on-demand
computing power in a
dynamically scalable fashion. Just as it
sounds from their definitions, both cloud computing and grid computing
are overlapping concepts. The key emphasis with the Internet-based cloud
computing paradigm however, remains in achieving
economies of scale in terms of the computing infrastructure utilization. Cloud computing
is a buzzword today, mostly because of its commercial viability with
regard to businesses being able to offload overburdened IT
infrastructures with value-added capabilities.
Now you might wonder, if both grid and cloud computing share the same
vision of achieving greater computing scalability, are they just fancy
technical jargon describing the same technology? Not really. So, how do
they differ? Let us study the points of contrast between grid computing
and cloud computing.
Grid Computing Vs. Cloud Computing
| Grid Computing | Cloud Computing |
Business Model | Typically, grid infrastructures are accessed by multiple, heterogeneous organizations or project teams that typically share a common goal and need access to a virtual supercomputer to work on a single task or a single set of tasks. However, the users or project sponsors would have to bear the enormous cost of setting up and maintaining and monitoring the grid.
When compared to accessing a cloud infrastructure that charges only as per consumption of resources, the set-up costs of a grid along with the cost of ownership of resources (like network administration, maintenance staff, etc.) are likely to be phenomenally high. | A customer accessing a cloud infrastructure or service will pay the cloud provider on a pay-per-use basis. The business model relies on optimizing utilization such that the cost makes sense for the customer as well as brings profits to the provider.
We can perhaps associate it to the use of utilities such as electricity, gas, etc., or purchasing in bulk, but only when there's a requirement or demand. The benefit is in achieving economies of scale. It's independent of whether the task requires computational power or increased storage capacity.
The customer is ideally not involved with the building or maintenance of the cloud infrastructure or services. This feature of abstraction is common to both grid computing and cloud computing. |
Computing Model | Grid computing does not have universal standards with regard to configuration of systems and software. Some software and most algorithms and codes require major restructuring in order to use all the benefits of "parallel processing" available with grid computing.
Even data communication protocols are grid-specific. Since most resources are being shared, network congestion control, fairness in allocation, reduction in latency, etc., are factors governing the development of grid protocols. Standard protocols are just not agile or flexible to support grid infrastructures. | Cloud computing has a more commercial focus and is therefore, more flexible when compared to the grid model. For example, expansion of a business requiring more resources is as easy as informing your provider to avail their seamless and mostly automated expansion services.
Even writing a new code etc., becomes less time-consuming with the use of generic software.
Existing protocols such as Web Services (WSDL, SOAP), and some advanced Web 2.0 technologies such as REST, RSS, AJAX, etc., can be utilized in cloud-based systems. |
Security | We have already seen that the grid infrastructure comprises diverse configurations and platforms. Hence, the security for such a system would be a consideration right from the setting up of the grid.
Important factors considered are authentication (single sign-on), authorization, credential, conversion, auditing, and delegation.
Typically, a grid infrastructure has operational autonomy which ensures greater security controls and protocols. However, providing a security layer to a grid infrastructure is a time-consuming process. | For obvious reasons (relative homogeneity of cloud systems), cloud security models are relatively simpler and less secure than that of grid computing.
It is a matter of mutual understanding where the provider ensures protection of the customer's data and applications. Private cloud (where the infrastructure is dedicated to a single customer) and community cloud (cloud infrastructure shared between a finite set of multiple customers) are effective ways to restrict access to authorized, limited number of users.
Cloud infrastructure typically use Web forms (over Secured Sockets Layer (SSL)) to create and manage account information for end-users. Encrypted communications ensure secure identity and password management. |
Some Potential Issues | - Is there a possibility of lesser complexity in building grids?
- Is there a possibility of developing ubiquitous standards for grid infrastructure? | - Does the cloud provider have a disaster management and recovery mechanism in place to deal with loss of customer's data?
- Is there a backup/contingency plan in case of disasters to ensure business continuity?
- What if the cloud provider exits the business or is acquired by another company, what happens to the customer's data and cloud operations? |
Examples | - The European Organization for Nuclear Research (CERN) is one of the leading organizations running major grid computing initiatives including analyzing chemical compounds in the search for potential drugs for diseases such as avian flu.
- SETI (Search for Extraterrestrial Intelligence) @Home project is one of the earliest grid initiatives that downloads and analyzes data from radio telescope. Participants simply need to download and run a program to join the grid network. | - Salesforce.com, Google App Engine, Microsoft Azure, and Amazon EC2 are famous cloud providers in the public domain (they provide services to anyone who needs them over the public Internet).
- Other service providers include the open source AbiCloud, Elastichosts and NASA's Nebula platform. |
From the above discussion of contrasting factors between grid computing
and cloud computing, it is clear that it's not a simple matter of
choosing one over the other. The trade-offs involved relate to which
functionality is most suitable over the other. It seems as though cloud
computing is more suited to businesses looking to derive value out of
their IT operations in a streamlined fashion. The agility that comes
with utilizing services from the cloud complements its scalability. The
grid computing paradigm on the other hand, has been the traditional
arena of funded scientific research although there are emerging
instances of its use in biomedical, financial and industrial research.
It now finds applications in weather modeling and weapons test
simulations. In fact, web serving (serving requests of website content
from users located all over the world) is an example of a commercial
application that benefits from the grid infrastructure.
Both computing paradigms are revolutionary; however, they're both still
immature. Their scalable properties are as promising as is their ability
to provide on-demand resources. However, both are struggling to battle
their inherent weaknesses and emerge as viable commercial options for
businesses. Experts across the board agree that while cloud computing
will not replace grids, they might merge and few even imagine the
possibility of a World Wide Grid!