CLOUD COMPUTING: Comparison of Various ... - Semantic Scholar

3 downloads 161493 Views 341KB Size Report
time effective cloud computing is the top needed for current fast growing ... Web-based processing, whereby shared resources, software and ... 10 years ago. .... for hosting Cloud computing applications in various locations around the world to.
CLOUD COMPUTING: Comparison of Various Features Nawsher Khan1, A.Noraziah1, Mustafa Mat Deris2, and Elrasheed I.Ismail1 1

Faculty of Computer Systems & Software Engineering, University Malaysia Pahang 2 Faculty of Computer Science and Information Technology, Universiti Tun Hussein Onn Malaysia Phone: +6012-3456789, Fax: +609-87654321 [email protected]

Abstract. Cloud computing is fundamentally altering the expectations for how and when computing, storage and networking resources should be allocated, managed, consume and allow users to utilize services globally. Due to the powerful computing and storage, high availability and security, easy accessibility and adaptability, reliable scalability and interoperability, cost and time effective cloud computing is the top needed for current fast growing business world. A client, organization or a trade that adopting emerging cloud environment can choose a well suitable infrastructure, platform, software and a network resource, for any business, where each one has some exclusive features. In this paper, we managed a comprehensive classification for describing cloud computing architecture. After this classification, easy to choose a specific cloud service out of several existing cloud computing services developed by various projects globally such as Amazon, Google, Microsoft, Sun, force.com etc. Using this survey results not only to identify similarities and differences of the various aspects of cloud computing, but also identifying some areas for further research. Keywords: Cloud Computing, Classification, Virtualization, Large Scale Data.

1

Introduction

Cloud computing is being heralded as the next-generation shift that combines the Internet and computing so that software, content and data can be stored in remote servers run by other companies or by a client and accessed by computers, phones and TVs through the Internet from anywhere in the world. Many consumers are already using cloud applications such as Google Earth, Google Docs, Gmail, Hotmail, Yahoo, iTunes, Online Operating System, Flicker, Facebook, etc. Hence Cloud computing is Web-based processing, whereby shared resources, software and information are provided to computers and other devices on demand over the Internet. Cloud Computing is hinting at a future in which we won’t compute on local computers, but on centralized facilities operated by third-party compute and storage utilities. Needless to say, cloud computing is not a new idea. In fact, back in 1961, computing pioneer John McCarthy predicted that “Computation may someday be organized as a public utility” and went on to speculate how this might occur [21]. E. Ariwa and E. El-Qawasmeh (Eds.): DEIS 2011, CCIS 194, pp. 243–254, 2011. © Springer-Verlag Berlin Heidelberg 2011

244

N. Khan et al.

“Cloud Computing” is a big revolution in Grid computing. Vision is same for both, to reduce the cost of computing, increase reliability and increase flexibility by transforming computers from something that we buy and operate ourselves to something that is operated by a third party. Now things are different than they were 10 years ago. With the passage of time, we have a new need to analyze huge data, thus motivating greatly increased demand for computing. We have being spent multiple billions of dollars by various services i.e. Amazon, Google, and Microsoft to create real commercial large-scale systems containing hundreds of thousands of computers [1, 2].

2

Background

Today, the most recent paradigm to emerge is that of Cloud computing, which promises reliable services delivered to the end-user through next-generation data centers which are built on virtualized compute and storage technologies [6]. Consumer will be able to access desired service from a “Cloud” anytime anywhere in the world on the bases of demand. Computing services need to be highly reliable, scalable, easy accessible and autonomic to support ever-present access, dynamic discovery and composability, consumers indicate the required service level through Quality of Service (QoS) parameters, according to Service Level Agreements (SLAs). All of these paradigms, the recently emerged Cloud computing paradigm appears to be the most promising one to leverage and build on the developments from other paradigms [7]. There are so many definitions of Cloud by various researchers. Ian Foster defines cloud computing as “ A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet” [3, 1].

Fig. 1. Simple Structure of Cloud Environment

Here are some definitions [4] and Buyya's [5] work defines Clusters and Grid as: “A Cluster is a type of parallel and distributed system, which consists of a collection of inter-connected stand-alone computers working together as a single integrated computing resource”.

CLOUD COMPUTING: Comparison of Various Features

245

“A Grid is a type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed `autonomous' resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements”. “A Cloud is a type of parallel and distributed system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and presented as one or more unified computing resource(s) based on service-level agreements established through negotiation between the service provider and consumers”. We add yet another definition to the already saturated list of definitions for Cloud Computing: A large-scale distributed computing paradigm, which provides Data Storage Service, Computing Power and Data Transferring Service, with capabilities of elasticity Software (SaaS), Infrastructure (IaaS), Platform (PaaS), Network (NaaS), Business (BaaS) and Organization as a Service. There are two main factors contributing to interests in Cloud Computing: 1.

2.

Rapid reduce in hardware cost and rise in computing power and storage capacity, and the arrival of multi-core architecture and modern supercomputers consisting of hundreds of thousands of cores. The exponentially increasing data size in scientific instrumentation and Internet publishing and archiving. The wide-spread adoption of Services Computing and Web 2.0 applications, etc.

Fig. 2. Global Cloud exchange and market infrastructure [7]

For further explanation of the above definitions, we need to discuss the characteristics and compare Cluster, Grid and Cloud Computing [7].

246

N. Khan et al.

Table 1.

Computing Environment / Systems Characteristics Clusters

Grids

Clouds

100s

High-End computers (Servers, Clusters) 1000s

100s to 1000s

Limited

Yes, SLA based

Yes, SLA based

User Management

Centralized

Decentralized and also virtual organization based

Centralized or can be delegated to third party

Resource Management

Centralized

Distributed

Centralized/Distributed

Capacity

Stable and Guaranteed

Varies, but high

Pricing of Services

Limited, not open market

Node Operating System (OS)

Standard OS ( Windows, Linux)

Dominated by public good or privately assigned Standard OS (Dominated by Unix)

Failure Management (Self-Healing)

Limited (Often failed task/application are restarted)

Limited (Often failed task/application are restarted)

Single Dedicated, high-end with low latency and high bandwidth

Multiple Mostly Internet with high latency and low bandwidth Centralized indexing and decentralized info services

Population Scalability Service Negotiation

Ownership Interconnection Network/Speed

Discovery

Commodity computers

Membership service

Both and also webbase storage

Demand-base Provisioned Utility pricing, discounted for larger customers A hypervisor (VM) which can run multiple OSs Strong support for failover and content replication. VMs can be easily migrated from one node to other. Single Dedicated, high-end with low latency and high bandwidth

Membership services

CLOUD COMPUTING: Comparison of Various Features

247

Table 1. (continued)

Security/ Privacy

Need Traditional login, Medium level of privacydepends on user rights

Public/private key base authentication and mapping a user to an account. Limited support for privacy.

Each user/application is provided with a virtual machine. High security/privacy is guaranteed.

Allocation/ Scheduling

Centralized

Decentralized

Both Centralized/ Decentralized

Standards/ Interoperability

Virtual Interface Architecture (VIA)-based

Some Open Grid Forum Standards

Web Service (SOAP and REST protocols )

Single Image

Yes

No

Yes, but optional

System

Interworking

Multi-clustering within an organization

Application Drivers

Science, business, enterprise, computing, data centres

Potential for Building 3rdParty or ValueAdded Solution

Limited due to rigid architecture

Limited adaptation, but being explored through research efforts such as Gridbus InterGrid Collaborative scientific and high throughput computing applications

Limited due to strong orientation for scientific computing

High potential, third party solution providers can loosely tie together services of different Clouds Dynamically provisioned legacy and web application, content delivery High potential can create new services by dynamically provisioning of compute, strong and application services and offer as their own isolated or composite Cloud services to users.

Generally, we have three types Public and Private Hybrid clouds. When a Cloud is made available in a Pay-As-You-Go manner to the public, we call it a Public Cloud, the service being sold as Utility Computing. Current examples of Public Utility Computing are Amazon Web Services, Google AppEngine and Microsoft Azure. We use the term Private Cloud to refer to internal datacenters of a business or other organization that are not made available to the public. Hybrid is the combination of both. Thus, Cloud Computing is the sum of SaaS and Utility Computing, but does not normally include Private Clouds. The advantages of SaaS to both end-users and

248

N. Khan et al.

service providers are well understood. Service providers enjoy greatly simplified software installation and maintenance and centralized control over versioning and end-users can access the service “anytime, anywhere”, share data and collaborate more easily, and keep their data stored safely in the infrastructure. [5, 7]. The vision of computing utility based on the service provisioning model anticipates the massive transformation of the entire computing industry in the 21st century whereby computing services will be readily available on demand, like other utility services available in today’s society. Similarly, computing service users (consumers) need to pay providers only when they access computing services. In addition, consumers no longer need to invest heavily or encounter difficulties in building and maintaining complex IT infrastructure. Hence, software practitioners are facing numerous new challenges toward creating software for millions of consumers to use as a service, rather than to run on their individual computers [7, 18].

3

Importance, Needs and Expectation of Cloud

Gartner Executive Programs Worldwide Survey of More Than 2,000 CIOs Identifies Cloud Computing as Top Technology Priority for CIOs in 2011. According to Mr. McDonald "The resource realities indicated in the 2011 CIO Agenda Survey raise the urgency and importance of adopting new infrastructure and operations technologies, such as cloud services and virtualization. These technologies were selected by CIOs the most often and the top-two technologies for 2011 and are well-suited for this budget reality, as they offer similar service levels at lower budget costs." [19]. The vision of cloud, in very near future, will decrease the density of hardware and user will be able to access any service just through one screen, because cloud will provide all software as well as hardware services. Figure 3: 2011Hype Cycle for Emerging Technologies

4

Failure of Cloud

Cloud computing provides so many services (SaaS). Anything can be a SaaS, therefore anything can be a cloud. “Cloud will never go down”, but a service can.

CLOUD COMPUTING: Comparison of Various Features

249

When Gmail or some other hosted service has an interruption, it does not indicate a cloud failure, it’s a service failure. Providers such as Amazon, Google, Microsoft, Salesforce.com, IBM and Sun Microsystems have begun to launch new data centers for hosting Cloud computing applications in various locations around the world to provide redundancy and ensure reliability in case of site failures [5, 7]. This research gives the following table with more detail with duration about the outage of various services of cloud. Table 2. Table 2. Outage in Cloud

Duration Hours/Minutes

Date

Twitter

24 h

Dec 6-7, 2010

Gmail and AppEngine

2.5 h

Feb 24, 2009

Google Search Engine

40 m

Jan 31, 2009

Microsoft Azure

22 h

Mar 13-14, 2008

Gmail

1.5 h

Aug 11, 2008

AppEngine

5h

Jun 17, 2008

Simple Storage System

2h

Feb 15, 2008

Simple Storage System

6-8 h

Jul 20, 2008

FlexiScale

18 h

Oct 31, 2008

Amazon S3

1.5 h

Feb 15, 2008

Service

5

Cloud Services

Cloud computing can provide three kinds of services, IaaS, PaaS and SaaS. SaaS means the service provided to client is the applications running on the cloud computing infrastructure. It can access by thin client interfaces such as browser etc. PaaS refers to deploy the applications created by the development language and tool say Java, python, .net etc. provided by the service providers to the cloud infrastructure. IaaS refers to the services provided to the users is to lease the processing power, storage, transpiring, network and other basic computing resources, with which users can deploy and run any software including operating systems and applications. To all these services, there is no need for users to manage or control the cloud infrastructure, including network, server, operating system, storage and even the functions of applications. 5 .1

Cloud Infrastructure as a Service ( IaaS )

Computing is being transformed to a model consisting of services that are commoditized and delivered in a manner similar to traditional utilities such as water,

250

N. Khan et al.

electricity, gas, and telephony. In such a model, users access services based on their requirements without regard to where the services are hosted or how they are delivered. Several computing paradigms have promised to deliver this utility computing vision and these include cluster computing, Grid computing, and more recently Cloud computing. Thus, the computing world is rapidly transforming towards developing software for millions to consume as a service, rather than to run on their individual computers [7, 17]. IPs manages a large set of computing resources, such as storing and processing capacity. Through virtualization, they are able to split, assign and dynamically resize these re-sources to build ad-hoc systems as demanded by customers as well as SPs. They deploy the software stacks that run their services, which is the Infrastructure as a Service (IaaS) scenario [8, 9, 17]. At present, it is common to access content across the Internet independently without reference to the underlying hosting infrastructure. This infrastructure consists of data centers that are monitored and maintained around the clock by content providers. Cloud computing is an extension of this paradigm wherein the capabilities of business applications are exposed as sophisticated services that can be accessed over a network. Cloud service providers are incentivized by the profits to be made by charging consumers for accessing these services. Consumers, such as enterprises, are attracted by the opportunity for reducing or eliminating costs associated with “inhouse” provision of these services. However, since cloud applications may be crucial to the core business operations of the consumers, it is essential that the consumers have guarantees from providers on service delivery. Typically, these are provided through Service Level Agreements (SLAs) brokered between the providers and consumers [7]. Providers such as Amazon, Google, Salesforce, IBM, Microsoft, Sun Microsystems and GigaSpace have started to establish new data centers for hosting cloud computing applications in various locations around the world to provide redundancy and ensure reliability in case of site failures. Since user requirements for cloud services are varied, service providers have to ensure that they can be flexible in their service delivery while keeping the users isolated from the underlying infrastructure. Recent advances in microprocessor technology and software have led to the increasing ability of commodity hardware to run applications within Virtual Machines (VMs) efficiently [9, 11]. 5.2

Cloud Platform as a Service (PaaS) Features

In our Global village, there are various cloud computing platforms; each has its own characteristics and advantages. For better understanding, we analyze these platforms and give comparison from different implementation aspects. Table 3. [9]. User requirements for cloud services are varied, service providers have to ensure that they can be flexible in their service delivery while keeping the users isolated from the underlying infrastructure. Recent advances in microprocessor technology and software have led to the increasing ability of commodity hardware to run applications within Virtual Machines (VMs) efficiently. VMs allow both the isolation of applications from the underlying hardware and other VMs and the customization of the platform to suit the needs of the end-user.

CLOUD COMPUTING: Comparison of Various Features

251

PaaS offerings may include facilities for application design, development, testing, deployment and hosting as well as application services such as team collaboration, web service integration and database integration, marshalling, scalability, security, persistence, storage, application versioning, state management, application instrumentation and developer community facilitation. These services are provisioned as an integrated solution over the web [8]. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet [17]. This is denoted as Platform as a Service (PaaS) i.e. Amazon Elastic Compute Cloud (EC2), Google Apps Engine, Microsoft Azure, Sun Network.com (Sun Grid) and GRIDS Lab Aneka etc. Table 3. Comparison of Some Cloud Computing Platforms Different Platforms Property

Focus

Amazon Google Microsoft Elastic Compute App Engine Azure Cloud (EC2) Infrastructure

Compute, Service Type Storage (Amazon S3) Virtualization

Platform

Platform

Web Application

Web and non-web application OS level OS level running Application through on a Xen container fabric hypervisor controller

Sun Network.com (Sun Grid)

GRIDS Lab Aneka

Infra-structure

Enterprise clouds

Compute

Compute

Job management system (Sun Grid Engine)

Resource manager and scheduler

Dynamic negoti-ation of QoS

None

None

None

None

SLA-base resources reservation

Web APIs

Yes

Yes

Yes

Yes

Yes Work-

Amazon EC2 Web-based Microsoft User Access command-line administrati windows interface tools on azure portal

scripts, Sun bench, webGrid web portal

Value-added service providers

Yes

Yes

Yes

Programming frame-work

Amazon Machine Images Python (AMI)

Microsoft.N ET

Solaris OS. supporting Java, C, C++, models in FORTRAN

No

based portal No APIs

c# .Net

252

5.3

N. Khan et al.

Cloud Software as a Service ( SaaS )

Saas offers the fastest time to value for generic business processes. SaaS is most appropriate for those business areas where the processes are standardized. In many cases, however, these processes are “different” because they are actually substandard. If businesspeople would adopt standardized business processes and the pre-built SaaS packages that can automate those standardized processes, they would significantly improve their business. In those cases where the data is too sensitive to trust offsite with a SaaS vendor, then the SaaS application often can be hosted within the enterprise’s data center. SaaS is a part of cloud computing, and enterprises should consider internal, private and public options for cloud computing, as their security requirements dictate [7]. Finally, there are services of potential interest to a wide variety of users hosted in Cloud systems. This is an alternative to locally run applications. An example of this is the online alternatives of typical office applications such as word processors. This scenario is called Software as a Service (SaaS) [9, 17].

6

Pricing Structure

Several Cloud Computing and Conventional Computing datacenters are being built in seemingly surprising locations, such as Quincy, Washington (Google, Microsoft, Yahoo! etc) and San Antonio, Texas (Microsoft, US National Security Agency etc). The motivation behind choosing these locales is that the costs for electricity, cooling, labor, property purchase costs and taxes are geographically variable and of these costs, electricity and cooling alone can account for a third of the costs of the datacenter. Even prices are changing, but we compare currently prices below. As a successful example, Elastic Compute Cloud (EC2) from Amazon Web Services (AWS) sells 1.0-GHz x86 ISA “slices” for $0.10 per hour, and a new “slice” or instance can be added in 2 to 5 minutes. Amazon’s Scalable Storage Service (S3) charges $0.12 to $0.15 per GB/Month, with additional bandwidth charges of $0.10 to $0.15 per GB to move data IN and OUT of (AWS) over the Internet. Table 4. Table 4. Platforms Pricing Structure

Amazon

0.055

Transfe r $/GB 0.10

Google

0.150

0.11

0.100

Microsoft

0.150

0.13

0.120

Platforms

7

Storage $/GB/Month

CPU $/GHz/ h 0.100

Conclusion and Lights to the Future

Cloud Computing is the fifth utility after water, electricity, gas and telephony, and it is the promising paradigm for delivering IT services as computing utilities. This paper

CLOUD COMPUTING: Comparison of Various Features

253

present a comprehensive comparison of different aspects of cloud computing. After this analysis user can better understand the characteristic and will be able to do better selection of cloud platform, implementation and deployment requirement. In current cloud still we have challenges i.e. continuously availability, portability, consistency guaranty, data security and privacy. In current cloud environment, user can’t fine the status of their data may be someone is using these data for his/her own purposes and also if server goes down for an hour, users are hit with the crises and user are handicapped. Our future work lies in the areas of data replication and data scheduling in cloud computing as well as on the combination of these both, replication and scheduling techniques.

References 1. Foster, I., Zhao, Y., Raicu, I., Lu, S.: Cloud Computing And Grid Computing 360-Degree Compared. IEEE Grid Computing Environments, Gce (2008) 2. Silvestre, J.: Economies And Diseconomies Of Scale. The New Palgrave: A Dictionary Of Economics 2, 80–84 (1987) 3. Twenty Experts Define Cloud Computing. Sys-Con Media Inc., http://cloudcomputing.sys-con.com/read/612375_p.htm (January 25, 2011) 4. Pfister, G.F.: In search of clusters, 2nd edn. Prentice Hall, Upper Saddle River (1998) 5. Buyya, R. (ed.): High Performance Cluster Computing: architectures and systems, vol. 1. Prentice Hall, Upper Saddle River (1999) 6. Weiss: Computing in the clouds. Networker 11 (4), 16–25 (2007) 7. Buyyaa, R., Yeoa, C.S., Venugopala, S., James, B.A., Brandic, I.: Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Generation Computer System (2008), doi:10.1016/j.future 8. Peng, J., Zhang, X., Lei, Z.: Comparison of several cloud computing platforms. In: International Symposium of Information (2009) 9. Rimal, B.P., et al.: A taxonomy and survey of cloud computing system. In: International Joint Conference on Inc. (2009) 10. Chang, F., Dan, J., Ghemawat, S., Hsieh, W., Wallach, D., Burrows, M., Chandra, T., Fikes, A., Gruber, R.: Bigtable: A distributed storage system for structured data. In: Proceedings of the 7th Usenix Symposium on Operating Systems Design and Implementation, osdi 2006 (2006) 11. Decandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available keyvalue store. In: Proceedings of Twenty-First ACM Sigops Symposium on Operating Systems Principles, pp. 205–220. ACM press, New York (2007) 12. Hamilton, J. Cost of power in large-scale data centers, http://perspectives.mvdirona.com Inlargescaledatacenters. Aspx (January 22, 2011) 13. Stanley, M.: Technology Trends, http://Morganstanley.com/institutionaltechresearch/pdfs/ techtrends062008.pdf (January 17, 2011) 14. Keahey, K., Foster, I., Freeman, T., Zhang, X.: Virtual Workspaces: Achieving quality of service and quality of life in the grid. Sci. Programming 13(4), 265–275 (2005)

254 15. 16. 17. 18. 19.

N. Khan et al.

Opennebula Project, http://www.opennebula.org/ (January 5, 2011) Amazon Elastic Compute Cloud (ec2), http://www.amazon.com (January 22, 2011) Google App Engine Web Site. Web Resource (January 7, 2011) Kleinrock, L.: A vision for the internet. St. Journal of Research 2(1), 4–5 (2005) Gartner executive programs worldwide survey of more than 2,000 cios, http://www.gartner.com/it/page.jsp?id=1526414 (January 21, 2011) 20. Gartner’s hype cycle special report evaluates maturity of 1,800 technologies (2010 ), http://www.gartner.com/it/page.jsp?id=1447613 (January 9, 2011) 21. Life in the cloud, living with cloud computing, http://computinginthecloud.wordpress.com/2008/09/25/ utility-cloud-computingflashback (January 12, 2011)