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)