4.2.2 Comparison from the Viewpoint of System

photofitterInternet and Web Development

Dec 4, 2013 (3 years and 6 months ago)


Chapter 4

Examining Cloud Computing

From the Perspective of Grid

and Computer
Cooperative Work

Jinlei Jiang and Guangwen Yang

Cloud computing, which refers to services provisioning
and consumption over the Internet, is the latest
paradigm promising to deliver computing as a utility.
Though it is still in its

and facing many challenges,
cloud computing has drawn and is drawing more
interest from both academia and industry. Taking grid
computing as the baseline and using the findings in
supported cooperative work (
) research,
this chapter tries to answer such questions as why cloud
computing is so

and how to make the vision of
cloud computing really come true.


Delivering computing as a utility was envisioned a way
back by computing pioneer John McCarthy in 1961 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

, and by
Leonard Kleinrock

in 1969 [10]

As of now, computer networks are still in their
infancy, but as they grow up and become sophisticated,
we will probably see the spread of “computer utilities”
which, like present electric and telephone utilities, will
service individual homes and offices across the

4.1 Instruction

Along the journey toward this dream, many
computing paradigms have been proposed, including
cluster computing
peer (P2P) computing
services computing
, and grid computing. Cloud
computing, which refers to service (

such as

, and
provisioning and consumption over the Internet in an
demand approach, is the latest one joining this

4.1 Instruction

Though it is just an emerging paradigm, more and
more people [3, 4, 8, 11] tend to think that cloud
computing is the state
art practice and holds
the promise to realize the
held dream


computing as a utility

Nowadays, cloud computing has become a trend,
drawing a lot of interest from both academia and
industry. On the one hand, there are lots of hypes
and columns available in the media, especially the IT
related ones. For example, using Google’s exact
search, the term

cloud computing

yields about
25,200,000 web pages
, compared with

pages for

grid computing.

4.1 Instruction

Another result given by Google is also surprising

it only took
10 months for the cloud computing article by Berkeley [2] to
get 138 citations. On the other hand, there are quite some
products and services available on the market and still more
products and services are coming. For example, besides
Amazon’s EC2 (Elastic Compute Cloud) and S3 (Simple Storage
Service), other well
known cloud computing products and
services include Salesforce’s Force.com and SFA (Sales Force
Automation), IBM’s Blue Cloud, Google’s App Engine and
various Apps, and Microsoft’s Windows Azure, to name but
just a few. It is notable that AT&T and Verizon, two major
telecom operators

in the United States, also expanded their
horizons into cloud computing by launching Synaptic Hosting

service), respectively, in 2009.

4.1 Instruction

In spite of the facts above, cloud computing is still in its

with some debates on its concept and scope [3,8].
Some people think cloud computing is just another name
given to
utility computing
. Others treat it as an upgrade to
grid computing. Yet others argue that it is a revolution in
computing architecture. Given the fact that cloud
computing has a history of no more than 3 years, it is
natural to see such a situation and it is also natural that
the debates continue. In this chapter, we do not want to
give another definition of cloud computing nor outline its
boundary. Instead, our aim is to explore the following two

4.1 Instruction

Why is cloud computing so attractive?

What should we do to make the vision of
cloud computing really come true?

4.1 Instruction

To do so, we first examine the

between cloud and grid computing in Section 2
with an aim to give a better understanding of the
concept and scope of cloud computing.
Afterwards, we turn to findings in computer
supported cooperative work (
) research
and try to give answers to the two questions.
Our answers aim to give some

for the
development of cloud computing rather than
solve all the challenges facing cloud computing.

4.1 Instruction

It is always effective to understand a new thing by
comparing it with the existing ones. Here, grid
computing is selected because it is the last computing
paradigm before cloud computing along the journey

computing as a utility

and because it
looks very much like cloud computing in many
aspects. Figure 4.1 illustrates the paradigms of grid
and cloud computing. As both grid and cloud
computing are of many shapes and colors, in the
following we will concentrate our comparison on
their origins, system design, and users.

4.2 Cloud and Grid: A Comparison

4.2 Cloud and Grid: A

Though cloud and grid look very similar in the sense
that they both aim to provide
enormous resources

to their users in an on
demand manner, differences
do exist between them. In this section, we explore
their origins. The purpose is to identify the driving
force behind grid and cloud computing and set a
solid foundation for other comparisons.

4.2.1 A Retrospective (

Grid computing

stems from academia, or more precisely the
field of high
performance computing (
), in the 1990s
with an aim to facilitate users to remotely utilize idle
computing power within other computing centers when the
local one is busy. This can be used to explain why the design
of grid adopts a
centric approach
. The grid at the
early stage is termed compute grid. It was over nearly 1 years
of development that grid technology became generally
accepted as an effective way for

coordinated resource


problem solving

virtual organizations

[7]. As a result, compute grid evolved
into grid computing, drawing much attention and funding
from governments around the world.

4.2.1 A Retrospective View

Along this transition, grid technology gets into the scope of
enterprises. A milestone in the development of grid
computing is the convergence of grid and

(SOA) [13], resulting in first OGSA (
Open Grid
Services Architecture
) and then WSRF (
ramework). It is since then that the potential of
grid computing for business has fully unfolded. However,
owing to a

of explicit business

and many other
factors that will be analyzed later, today there is
still no
widely accepted commercial
running grid service available
on the market


4.2.1 A Retrospective View

In contrast, cloud computing stems from the


with an aim to sell resources as a service to its
Three kinds

of cloud services identified are
infrastructure as a service (
, e.g., Amazon EC2 and
S3, and IBM Blue Cloud), platform as a service (
e.g., Google App Engine, Microsoft Windows Azure, and
Salesforce Force.com), and software as a service (
e.g., Salesforce SFA, Google Doc, and Microsoft
Dynamic CRM). Before cloud computing was born, SOA
has been prevalent for quite some time and much
experience has been gained with grid operation.

4.2.1 A Retrospective View

Cloud computing has a better starting point than any
other computing paradigms mentioned in Section 1.
Based on the lessons learned in the past, cloud
computing adopts a
and task
centric design

well as a


business model. As a result,

experiences with cloud services are enhanced
greatly. Though cloud computing has a short history to
now, many products and services are already available
on the market.

4.2.1 A Retrospective View

Different starting points lead to different systems. In
this section, we will examine grid and cloud computing
from a system point of view. Aspects covered are the
technology behind the curtain and the system

In technical language, the purpose of grid computing
is to integrate resources from different organizations
a uniform resource pool
, which can provide
the ability that is impossible with a single
computing/data center

or that is beyond what a single
organization can provide.

4.2.2 Comparison from the Viewpoint
of System

Since these organizations are usually distributed
geographically and have their own rights in determining
vendors of their resources, the principal challenge facing
grid computing is to shield the inherent

distribution of underlying resources. In contrast, the
purpose of cloud computing is to
divide resources into
smaller pieces

and delivers them to users in their desired
way whenever needed. Resources in cloud computing are
usually possessed or operated by a single organization and
physically, they can be centralized within the same
computing/data center

or distributed across multiple
computing/data centers,


4.2.2 Comparison from the Viewpoint
of System

In other words, resource heterogeneity and distribution is no
longer a key problem in cloud computing. Instead, the principal
challenge is to improve
, and

Grid computing achieves its purpose through so
, a specific software product that provides
necessary yet generic services for shielding the inherent

. Nowadays, there are
established standards for
grid middleware

and quite some
products and systems available, including Globus Toolkit (GT),
Unicore, and gLite, to name but a few. Core services provided
by the existing grid middleware are as follows:

4.2.2 Comparison from the Viewpoint
of System

Information Service
: maintains detailed up
knowledge of all the resources or services in a grid
environment. Based on the information service, suitable
resources or services are identified. Information service, is also
known as meta
data service or directly service.

Security Service
: resources and users in grids are from
multiple autonomous administrative domains. Security service
is deployed to guarantee secure cross
organizational resource
access that not only protects communications but also ensures
no violation of the local administration policies.

4.2.2 Comparison from the Viewpoint
of System

Data Management
: provides some useful mechanisms for data
access, data movement, data

and location, and data
integration. In GT4, data management related services include GridFTP,
reliable file transfer (RFT), replica location service (RLS), data
replication service (DRS), and data access and integration (OGSA
where OGSA
DAI is supplied by the


rather than the Globus

Execution Management
: deployed to fulfill a task using the
resources provided, to track the progress of that task, and to manage
the computing result. The key task of
execution management

is to
determine where to run a given job according to the information
provided by the information service.

4.2.2 Comparison from the Viewpoint
of System

Cloud computing also achieves its purpose by
middleware layer
, which is called cloudware
in this chapter. According to the type of
service supplied (e.g., IaaS, PaaS, or SaaS),
cloudware may provide various
functionalities In summary, the core
functions of the cloudware are as follows:

4.2.2 Comparison from the Viewpoint
of System

4.2.2 Comparison from the Viewpoint
of System




that connects

for their applications. The software consists of a
set of services that allows multiple processes running on one
or more machines to interact. This technology evolved to
provide for

in support of the move to
coherent distributed architectures, which are most often used
to support and simplify complex
distributed applications
. It
web servers
application servers
, and similar tools
that support application development and delivery.
Middleware is especially integral to modern information
technology based on
Web services
, and
oriented architecture

4.2.2 Comparison from the Viewpoint
of System


is software that runs
on Internet

rather than on your hard drive. They
require little or
no installation/download
. It is
also referred to as "Software as a Service"
(SaaS) and it has some connections to what
you may have heard called "

devices" (hardware or even software where all
real processing

is done
on a server

and not
on the device you are using).

Maintains up
date information of the available
physical resources (e.g., their
current load
and so on) as happens in grid computing. The
purpose is to provide a basis for other functions such
as virtual machine (VM) and application
management. However, unlike in grid computing,
this information is even transparent to developers.

4.2.2 Comparison from the Viewpoint
of System

4.2.2 Comparison from the Viewpoint
of System

Create and manage VMs according to
users’ request. To utilize resources
effectively, some algorithms or policies
are deployed to determine where to
create a VM, and when to start and stop
a VM based on the information
maintained. It is the duty of the
hypervisor to keep the resource
entitlement (
) of a given VM.

Application deployment, configuration, and
execution. Meanwhile, the execution progress
or status is also tracked.

, and
The purpose is to determine how users

requests are charged and maintain the actual
usage of resources by a certain request or

4.2.2 Comparison from the Viewpoint
of System

Grid and cloud computing also show differences in
system management as stated in the following.

In grid computing, since

are owned and
provided by
different autonomous organizations
, a
heavy burden

is raised to
system management
. For
each node, besides routine maintenance work,
system administrators must do much extra work to
coordinate local administration policies with global
ones. For example, they must make sure that
resources are shared in a way fully compliant (
with local regulations.

4.2.2 Comparison from the Viewpoint
of System

4.2.2 Comparison from the Viewpoint
of System

In addition, they must separate environment
of local users from global ones to guarantee

. None of this work is
trivial. Moreover, since there are quite some
independent or interrelated components and
services involved in a grid,


the grid software itself implies a
lot of work and presents some challenges
even to experienced system administrators.

On the contrary, resources in
cloud computing

are usually
possessed or operated by
a single organization

and as a
result, there is no need to coordinate different
administration policies. In addition, since each VM in
cloud computing provides an isolated and independent
running environment that is fully controllable by the user
who creates it, there is also
no need for system

to install and
users’ programs
and to worry that they may interfere with each other and
cause system disasters. Therefore, the burden of

is greatly

4.2.2 Comparison from the Viewpoint
of System

Different design philosophies lead to different
systems, which in turn place different constraints on
their users. This section compares grid and cloud
computing from the viewpoint of users. Two kinds of
users distinguished here are end
users who

, and

developers who develop new applications or
services using the resources and services supplied
by a grid or a cloud.

4.2.3 Comparison from the Viewpoint
of Users

Both grid and cloud computing provide two ways for end
users to consume resources supplied. The

involves using
installed software

services through their own interfaces.
Since these services are designed to support the needs of
common users, in both cases end
users with special
requirements or habits have to adapt themselves to the
preset operation styles and instructions. Given the fact that
grids are usually operated by computer scientists

who know
little about the domain needs, the problem is especially
severe. The

involves running a task directly in a grid
or a cloud. This shows quite some differences in operations
and constraints as stated below.

4.2.3 Comparison from the Viewpoint
of Users

To run a task in a grid, end
users need to

the type

of resources desired
, information used for
authentication (
), the program to be run and its
arguments, sources of the input, and the output and its
destination. This is an annoying procedure that often makes
users stop. For example, globusrun
ws, the command
supplied by GT4 for job submission and management, has
options for submitting a job

15 options for monitoring a
. Though some tools have been provided as a help, much
work is still needed, for example, to compose a job
description file. Even if end
users have done all the work
perfectly, there are still other risks that prevent their jobs
getting done.

4.2.3 Comparison from the Viewpoint
of Users

One thing often ignored is that, because each
grid middleware

itself is a software system and has its special requirements on the
running environment, the existing grids are very tightly bound to a
specific operating system (OS), software libraries, or applications.
For example, gLite presently can only run on Scientific Linux 4 and
5, and Debian 4. As a result, if the program corresponding to a job
is not executable on the platform on top of which a

is running, or if one or more libraries needed by the
program are unavailable, the job just could not get done even if
there are enough resources available. Another depressing thing is
that, because different grid systems in the real world deploy quite
different ways for users to express their needs, the job description
file prepared for one grid usually cannot be used in another one.

4.2.3 Comparison from the Viewpoint
of Users

In contrast, running a task in clouds is
much easier

fewer constraints
. The only thing needed is to
reserve the desired resources and configure them for the
task to be run. Resource reservation can be done by
several mouse clicks and
resource configuration

makes no
difference when compared with activity using local
machines. Owing to the VM technology, users in cloud
computing can always set up an environment capable of
running their programs and thus the constraints laid by
grids on the running programs as mentioned above no
longer exist.

4.2.3 Comparison from the Viewpoint
of Users

Grid and cloud computing also impose different
requirements on application developers. Generally
speaking, developing applications on
a grid

is a

. First, this implies that developers should know many
details about the grid environment, for example, the way to
stage data to and from the execution site, the way to find a
specific service to be invoked, to name but a few. In
addition, they must spend much time learning the related
APIs (
Application Programming Interfaces

even the
Simple API for Grid Applications (SAGA) has a document of
more than 300 pages.

4.2.3 Comparison from the Viewpoint
of Users

, since the

is a
highly dynamic environment
developers must pay more attention to such issues as
exception handling
fault tolerance
, and so forth.
, there are no mature tools
for debugging and measuring the behavior of grid
applications. Developers must struggle in their own ways
(e.g., setting up an experimental grid of their own to
monitor the behaviors of the application) to ensure the

of the application developed. It is easy to see
from the statements above that programming on a grid
raises a
heavy burden

on application developers.

4.2.3 Comparison from the Viewpoint
of Users

As a comparison,
programming in clouds is much easier
For IaaS, developers can always customize their working
environments with their familiar tools and configurations,
so there is almost no difference to programming on local
machines. For PaaS, nearly every service provider supplies
a platform SDK (
Software Development Kit
) and/or some
debugging tool. For example, Google App Engine provides
a fully featured local development environment with
which developers can write, for example, standard Java

4.2.3 Comparison from the Viewpoint
of Users

The Google plug
in for Eclipse provides an IDE
nvironment) with
application wizard and debug configuration for Google
App Engine projects, making the development process
much easier and more efficient. Similarly, Visual Studio
2010 also provides a template for developers to write
Windows Azure services. In this way, the complexity of
the platform is shielded from developers and the pains
of application development are greatly eased.

4.2.3 Comparison from the Viewpoint
of Users