Скачиваний:
50
Добавлен:
20.06.2019
Размер:
50.48 Mб
Скачать

64

J. Jiang and G. Yang

paradigm, more and more people [3,4,8,11] tend to think that cloud computing is the state-of-the-art practice and holds the promise to realize the long-held dream of “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 2,000,000 pages for “grid computing.” 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 and CaaS (computing-as-a-service), respectively, in 2009.

In spite of the facts above, cloud computing is still in its infancy 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 questions:

Why is cloud computing so attractive?

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

To do so, we first examine the differences 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 (CSCW) research and try to give answers to the two questions. Our answers aim to give some hints for the development of cloud computing rather than solve all the challenges facing cloud computing.

4.2  Cloud and Grid: A Comparison

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 toward “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

4  Examining Cloud Computing from the Perspective of Grid and Computer-Supported

65

Grid Middleware

Cloudware

Computing/Data Center Computing/Data Center Computing/Data Center

Computing/Data Center

Fig. 4.1A comparison of grid and cloud computing. Each computing/data center in the figure represents an administrative domain. The design of grid adopts a resource-centric approach with the focus to shield the heterogeneity of underlying resources and policies and to present various users with a vast yet uniform resource pool. All users of a grid face the same operating environment required by the grid middleware. On the contrary, cloud computing adopts a userand taskcentric design with an aim to deliver resources to users in their desired way. Each user in cloud computing has his/her own operating environment independent of the underlying resources

are of many shapes and colors, in the following we will concentrate our comparison on their origins, system design, and users.

4.2.1  A Retrospective View

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.

Grid computing stems from academia, or more precisely the field of high-perfor- mance computing (HPC), 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 resource-centric approach. The grid at the early stage is termed compute grid. It was over nearly 10 years of development that grid technology became generally accepted as an effective way for “coordinated resource sharing and problem solving in dynamic, multi-insti- tutional virtual organizations” [7]. As a result, compute grid evolved into grid computing, drawing much attention and funding from governments around the world. 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 service-oriented

66

J. Jiang and G. Yang

architecture (SOA) [13], resulting in first OGSA (Open Grid Services Architecture) and then WSRF (Web Service Resource Framework). It is since then that the potential of grid computing for business has fully unfolded. However, owing to a lack of explicit business model and many other factors that will be analyzed later, today there is still no widely accepted commercial-running grid service available on the market [12].

In contrast, cloud computing stems from the industry with an aim to sell resources as a service to its customers. Three kinds of cloud services identified are infrastructure as a service (IaaS, e.g., Amazon EC2 and S3, and IBM Blue Cloud), platform as a service (PaaS, e.g., Google App Engine, Microsoft Windows Azure, and Salesforce Force.com), and software as a service (SaaS, 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. 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 userand task-centric design as well as a “pay-as-you-go” business model. As a result, users’ 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.2  Comparison from the Viewpoint of System

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 management.

In technical language, the purpose of grid computing is to integrate resources from different organizations forming 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. 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 heterogeneity and distribution of underlying resources. In contrast, the purpose of cloud computing is to divide resources into smaller pieces and deliver 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, homogeneous or heterogeneous. In other words, resource heterogeneity and distribution is no longer a key problem in cloud computing. Instead, the principal challenge is to improve scalability, availability, and reliability.

Grid computing achieves its purpose through so-called grid middleware, a ­specific software product that provides necessary yet generic services for shielding the inherent underlying heterogeneity and distribution. Nowadays, there are

4  Examining Cloud Computing from the Perspective of Grid and Computer-Supported

67

well­ -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:

Information Service: maintains detailed up-to-date 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 metadata service or directory service.

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

Data Management: provides some useful mechanisms for data access, data movement, data replication 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-DAI) where OGSA-DAI is supplied by the third-party rather than the Globus team.

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.

Cloud computing also achieves its purpose by a 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:

Maintains up-to-date information of the available physical resources (e.g., their capability, 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.

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.

User management, pricing, and accounting. The purpose is to determine how users’ requests are charged and maintain the actual usage of resources by a certain request or user.

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

In grid computing, since resources are owned and provided by different autonomous organizations, a heavy burden is raised to system management. For each node,

Соседние файлы в папке CLOUD COMPUTING