A comparative study of major service providers for ... - Semantic Scholar

3 downloads 372494 Views 91KB Size Report
Different cloud computing providers have emerged during recent years ..... and Microsoft Windows Azure provide the best combination of feature for an ... web-based control .... [10] "Free source code hosting for Git and Mercurial by Bitbucket",.
A comparative study of major service providers for cloud computing Noman Islam

Aqeel-ur-Rehman

Team Lead, Research and Development Technology Promotion International, Karachi, Pakistan

Associate Professor FEST, Hamdard University, Karachi, Pakistan

Research Fellow Center for Research in Ubiquitous Computing, Karachi, Pakistan [email protected]

Research Fellow Center for Research in Ubiquitous Computing, Karachi, Pakistan [email protected]

Abstract— Cloud computing enables aggregation of a pool of resources that are provided dynamically as a utility to users over the internet. The users assume that infinite resources are available and pay only for the resources they consume. Different cloud computing providers have emerged during recent years, providing various services and features to endusers. Due to the diversity of the features provided by these providers, it becomes very difficult for an ordinary user to select a platform based on their requirements. This paper provides reflections on different cloud computing providers currently available in market. It analyzes the features provided by existing providers and summarizes the current options available to an ordinary user. Based on the comparative study, conclusions have been drawn and research avenues have been highlighted.

solutions focused on ensuring reduced service costs, while others have focused more on providing scalable and guaranteed delivery of services. These diverse efforts made it very difficult for an ordinary user to align different features and select a service provider based on their requirements. Realizing this problem, this paper presents a comparative study of currently available providers. Rest of the sections is organized as follows. The next section introduces the reader to fundamental concepts of cloud computing. A comparative analysis of different service providers is then provided. The discussion highlights current trends and ignored research areas. The paper concludes with indicating limitations of current work and presenting directions for further research.

Keywords- cloud computing, high performance computing, cloud service provider, provider comparison

This section provides a brief overview of cloud computing. It formally defines cloud computing and its enabling technologies, various services provided by cloud providers and different deployment models available for cloud computing.

I.

INTRODUCTION

The increasing computing demands during past few years have lead to emergence of a new paradigm called Cloud Computing. Traditionally, high performance computing was performed by expensive super computers, clusters or grids [1]. All of these options had limitations in the form of infrastructure cost or non-optimal resource utilization etc. Cloud computing provides a better alternative to users. It comprises large data centers that are equipped with a collection of tightly coupled resources. The resources are dynamically provisioned to satisfy end-user’s demands. Similar to the conventional utilities, users can consume the computing resources from the large pool of resources. They don’t need to worry about the resource limitations or scalability issues. The users are also relieved from initial investment plans and pay only for the amount of services availed. During last few years, tremendous developments have been observed in the domain of cloud computing and different types of cloud providers have emerged. However, the absence of a universal standard leads to these developments in parallel directions. Some providers have focused on computing aspects and provide CPU, storage, databases and networking as services to end-users. Few

II.

BACKGROUND

A. Cloud computing Cloud Computing is defined as a distributed system, comprising a set of inter-connected resources that are dynamically provisioned using virtualization mechanisms, and offered as services to end-users based on various service-level agreements [2]. A cloud computing system is characterized by its on-need self service, access over internet, pooling of resources, elasticity of service availability, and measurement of services utilized by individual users [3]. There are several enabling technologies that work together to realize the vision of cloud computing as discussed in [4]. Following section briefly discusses these technologies. B. Enabling technologies One of the fundamental concepts in cloud computing is utility computing. The computing resources i.e. storage, CPU and memory etc. are provided to end-users as a utility service. The various services provided to users are measured and the users are charged for the units of services they have consumed.

Another important concept is service oriented architecture, in which the data centers in cloud expose their resources (e.g. infrastructure and software etc.) as web services. This enables different loosely coupled and heterogeneous systems to interoperate with each other. To enable execution of multiple users’ requests on a single physical platform, the virtualization mechanism is employed. For every user, a virtual machine (VM) instance is spawned by hypervisor, a software that resides between the VM and physical system. VMWare, Xen and KVM etc. are examples of some of the hypervisor software [4]. Another relevant concept is autonomic computing. It enables self management of cloud systems by automating different tasks i.e. resource provisioning, capacity management, service measurement and disaster management etc. C. Service models Different types of service models are supported by cloud systems. Following are some of the models: 1) Infrastructure-as-a-Service (IaaS): In Infrastructure as a service (IaaS), the raw resources like computation, storage and communication are provided as service to user. GoGrid, Joyent and Rackspace are some of the popular IaaS providers [7-9]. A special case of IaaS is Data storage as a Service (DaaS), where the physical storage is provided as a service to users. The service also accompanies features for backup, reliability and redundancy etc. Examples are Amazon S3 and Apache HBase etc. [3] 2) Platform-as-a-Service (PaaS): The end-users are provided a platform i.e. an abstraction over existing infrastructure that can be used to build applications. Examples of PaaS providers are Microsoft Windows Azure and Google AppEngine etc. [5, 6] 3) Software-as-a-Service (SaaS): In the Software as a service (SaaS) model, different types of utility applications i.e. accounting, spread sheet and word processing etc. are offered as service to clients. 4) Hadware-as-a-Service (HaaS): In this approach, the entire hardware or data center can be rented by an organization to meet their hardware demands. The hardware resources can dynamically scale up or down as the end-user’s requirements change. Besides the service models discussed above, miscellaneous services are also provided over the cloud. For example, BitBucket provides different services to developers for managing their code repositories [10]. An overview of different cloud issues and service models is provided in [3]. D. Deployment models The concept of cloud has mainly been proposed for public deployment, but other options are also available. The most common model is public cloud in which the services can be consumed by anyone who pays for it. A private

cloud is internal datacenter of an organization and is generally preferable for organizations that are more concerned about privacy (military organizations and research groups etc.), or in places where it is cumbersome to shift complete infrastructure to a public cloud. Sometimes, multiple organizations jointly establish a community cloud infrastructure, sharing infrastructure and policies. A hybrid cloud is a combination of private and public cloud. The private cloud is used for normal operations of organization. The facilities of public cloud are utilized for cloud bursting i.e. for handling spikes in computing demands. Recently, a new type of cloud called virtual private cloud has emerged. There is a virtual private network (VPN) that extends the organizations internal infrastructure by connecting it with a public cloud. Since, the VPN is part of organization’s network, all the policies of the organization are applied on the resources available over VPN. An example of this type of service is Amazon’s virtual private cloud [11]. III.

RELATED WORK

There have been a small number of comparative studies reported on comparison of cloud computing systems. This section provides a summary of such studies. Buyya et al. [2] provided a comparison of selected cloud platforms from aspect of market oriented cloud computing. The study focused on the need for emergence of strategies for market-based cloud management based on customer’s demands and risk management etc. Zhang et al. [11] provided a general comparison of four commercial cloud platforms and concluded that existing platforms provide diverse types of services. These services are provided at various levels of abstraction. Therefore, end-users should choose more than one platform based on their requirements to satisfy business needs. Voorsluys et al. [4] in their discussion about cloud computing, provided a comparison of features provided by major Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) providers. In some of the studies reported in literature, a taxonomic approach has been employed for comparing cloud providers. In this direction, Hofer et al. [12] presented a tree-based taxonomy based on the characteristics of different cloud systems. The cloud providers were classified based on the proposed taxonomy. Among the characteristics considered were service model, license type, cost model, supported languages and operating systems, development tools and virtualization mechanism etc. Similarly, Rimal et al. [13] developed a taxonomy based on provider’s features and used it for comparison of existing providers. The attributes considered for the comparison were provider’s architecture, virtualization mechanism, services provided, mechanisms for load balancing, fault tolerance, interoperability and security, and support for software and programming languages etc. In some of the studies, quantitative comparisons have been drawn among different providers. CloudComp, for instance, is a framework proposed to provide performance comparison of various providers [14].

Table 1: A summary of comparative studies done on cloud computing providers Objective To present an updated account of features provided by selected cloud service providers

Providers compared Amazon EC2 Microsoft Windows Azure Google AppEngine

Features compared Services, applications, virtualization mechanism and scalability

Comparison Type Qualitative

Buyya et al. [2]

To present the notion of market oriented cloud computing

Amazon EC Google AppEngine Microsoft Live Mesh SunNetwork.com GRIDS Lab Aneka

Services, virtualization mechanism, QoS, control mechanism and tools

Qualitative

Rimal et al. [13]

Development of a taxonomy that can classify selected cloud providers

Virtualization mechanism, services, scalability, reliability, interoperability, security and tools

Taxonomy-based

Hofer et al. [12]

Development of a taxonomy that can classify selected cloud providers

AWS GoGrid FlexiScale Mosso Google AppEngine GigaSpaces Microsoft Windows Azure RightScale SunCloud SalesForce.com Microsoft Windows Azure Google AppEngine

Services, license model, users type, payment model, QoS, security, standard and openness etc.

Taxonomy-based

There is a need for standardization such that issues of interoperability among different providers can be addressed

Li et al. [14]

To propose a novel framework for comparing different attributes (cost and performance etc.) of current cloud providers

AWS Rackspace

Computation, storage and network performance

Quantitative

Variations have been observed in performance of providers for different scenarios

Zhang et al. [11]

The authors developed different metrics (scalability, latency and throughput etc.) to analyze computational and network aspects of these providers. Similarly, a quantitative comparison of cloud computing platforms have been done in [1]. The authors analyzed Amazon EC2 for scientific computing purpose. Table 1 summarizes different studies reported in literature on the topic. It classifies these studies as qualitative, taxonomy-based and qualitative comparisons. As the number of providers currently available are very large (more than 80 according to [15]), therefore, the current studies have considered a subset of providers for comparison. The studies have employed different criteria for comparison. Due to the large number of cloud providers currently available, we feel that existing studies are not sufficient, and an updated comparison is required. Therefore, the next section provides a comparison of top service providers currently available. IV.

A BRIEF OVERVIEW OF MAJOR CLOUD COMPUTING PROVIDERS

This study is restricted to 10 major cloud providers currently available in market. Based on the list of top cloud

Conclusion Existing providers offer diverse features. Therefore, an end-user should use more than one providers for attaining his business objectives Currently, the provider doesn’t comply with requirements for market oriented cloud computing. Research efforts are therefore required to introduce new models When a cloud provider share a resource, it must be compensated for its contribution

providers in [16-20], five major IaaS and five PaaS providers are selected. Table 2 and 3 provide a comparison of selected providers. The various information about the features provided by these providers have been selected primarily from the provider’s website and the information available in [15]. From the comparison, it can be said that Amazon EC2 and Microsoft Windows Azure provide the best combination of feature for an ordinary user. GoGrid, Joyent and Rackspace provide better scalability and also promise 100% availability of service. Hence, they are useful for customers that are more concerned about scalability. Based on the features provided by various providers and intensive study performed during this research, following paragraphs provide further insights and highlight areas that demand more attention. 1) Virtualization mechanism: As we discussed earlier, virtualization allows execution of multiple users’ operating system on a single machine. Most of the IaaS providers are based on Xen virtualization

mechanism, while the PaaS providers mostly employ their own mechanism for virtualization. 2) Pricing model: There are two types of pricing model currently supported. First model is pay-as-you-go, in which user pays for the services when they are consumed. In the subscription based model, user subscribed to services in a cheap price for a period of time. The user will pay for the services whether they are used during the period or not. A hybrid model is also offered by some providers, where a small amount of services are subscribed, however, user will pay for additional computing capacity.

3) Access interface: An important aspect of any cloud computing system is the end-user interface provided to clients for access, configuration and deployment purposes. Different approaches are taken by existing providers. Some cloud providers (Windows Azure, GoGrid and Rakspace etc.) provide a control panel over the web, while others (Amazon EC2 and Joyent etc.) provide a command line interface for this purpose. Some providers, Google App Engine for instance, are too restricted, and only provide an application programming interface to developers.

Table 2: A comparison of features provided by major IaaS cloud computing providers Introduction

Virtualization Pricing model Major products services

/

Access interface

GoGrid [8] GoGrid provides dynamic provisioning and scaling of resources in realtime manner. One of the prominent features is RAID 6+0 technology that ensures resilience, availability and handles failover conditions. The provider offers different solutions for SQL and NoSQL databases

Joyent [9] The provider offers three types of services. The compute service facilitates in execution of reliable and resilient applications on cloud. The manta storage service offers a scalable and distributed object storage service. The third service provided is facility for private clouds. The prominent features of the provider are zoning, high integrity caching and tracing etc.

Rackspace [7] Rackspace offers 100% availability of applications based on RAID10. Besides, users can also create backup snapshot images for later use. A RESTful API is provided along with web-based control panel and console based access for controlling cloud resources

VMWare [21] VMWare’s cloud solution is based on its vCloud suite that provides an API based access to manage and control cloud. The most prominent feature of provider is improved reliability based on predictive and data driven approach to incident reporting and problem management

Amazon EC2 [1] Amazon is amongst the pioneers in cloud computing. Its Elastic Compute Cloud (EC2) is based on concepts of zones that provide fault isolation and robustness against failures in other zones. Different zones combined together to form regions. Storage is also offered as Simple Storage Service (S3). Another important feature is Amazon Virtual Cloud (VPC) that connects company’s internal infrastructure with Amazon cloud

Xen hypervisor

Solaris container

OpenStack-based

vSphere

Xen hypervisor

Pay-as-you-go

Pay-as-you-go

Subscription

Computation, storage, private cloud

Managed cloud, block storage, load balancing, monitoring

Computation, data center, recovery manager

Web-based, API, console

Web-based control panel

API

Pay-as-you-go, then subscription Computation, load balancing, storage, content distribution network Web-based, API

Pay-as-you-go, then subscription Elastic block store, IP addresses, virtual private cloud, cloud watch, clusters etc. Web-based, API, console

Security features Preventive measures

Basic

Basic

Basic

Basic

Moderate

×

Basic

Basic

Basic

Moderate

Good

Inadequate

Good

Poor

Good

100

100

100

n/a

99.9

Scalability

Good

Good

Good

Basic

Good

Support

Good

Good

Good

Good

Reactive measures Reliability Availability (%)

Tools/ framework

×

C/C++, Java, Python, Ruby

PHP,

×

Java, Perl, PHP, SQL

Good Amazon machine image (AMI), Java, Python, Ruby

PHP,

Table 3: A comparison of features provided by major PaaS cloud computing providers Google App Engine [5]

Microsoft Windows Azure [6]

Citrix [22]

Salesforce.com [23]

LunaCloud [24]

Google provides a platform to application development based on Java and Python. The various cloud services provided are cloud storage and BigQuery etc.

A window-based platform is provided for deployment and execution of applications. The applications can be written in C, C++ and C#. The SQL Azure storage service enables hosting of data in cloud data centers

Citrix provides an open source platformas-a-service cloud to develop applications. The services are provided on a subscription based costing model, where users can build a public, private or hybrid clouds

Salesforce.com offers the first real-time cloud to develop fast, secure and reliable multitenant customized or business apps. Among the various cloud options available are cloud for sales, business services and marketing etc.

Lunacloud provides a flexible platform for development of cloud applications, controlled via web-control panel and RESTful API. The provider offers features for virtual elastic server, virtual disk space and cloud appliances etc.

Virtualization

Application container

Microsoft CLR VM

Xen Server

n/a

OpenStack-based

Pricing model

Pay-as-you-go

Pay-as-you-go, then subscription

Subscription

Pay-as-you-go

Pay-as-you-go

Computation, Cloud SQLDatabase, Google cloud storage

Web server, Big Data, SQL Azure storage etc.

Public and private cloud, DHCP, load balancing, IP addresses

Sales cloud, service cloud, marketing cloud

Cloud server, cloud storage, cloud appliances

API

Web-based, API, console

Web-based

Web-based, API

Web-based, API, console

Introduction

Major products / services Access interface Security features Preventive measures Reactive measures

×

Basic

Basic

Moderate

Moderate

×

Basic

Basic

Basic

×

Reliability

Inadequate

Inadequate

Poor

Good

Good

Availability (%)

99.9

99.9

99.9

99.9

n/a

Scalability

Good

Basic

Basic

Good

Good

Basic

Good

Good

Basic

Good

Django, Pylons, CherryPy, web2spy, Java, Python

Java, PHP, Python, Basic

×

Java, PHP, Ruby

×

Support Tools / frameworks

4) Security: One of the most important concerns for a user is the security and privacy of the data they host on the cloud. There are two types of measures that can be adopted for security purpose. The preventive measures include data protection, privacy and firewall etc. The reactive measures include mechanisms to counter for a threat that has penetrated into the network. Monitoring and intrusion detection etc. are some of the steps that can be adopted. Unfortunately, the security features offered by current provider are not adequate enough to satisfy end-user demands. Only, data privacy and protection are the mechanisms offered by most of the providers. Advanced features for threat prevention and response are not provided by current solutions. Among the providers that offer moderate security measure are salesforce.com (provides adequate preventive measures including data protection, privacy and authentication features) and Amazon EC2 (provides intrusion detection and monitoring features). 5) Availability and reliability: Most of the IaaS providers guarantee 100% availability, while PaaS solutions offer slightly low availability of about 99.9%. Different measures have been adopted by the

providers to guarantee reliability of system. Unfortunately, the reliability provided by current systems is not of satisfactory level and research efforts are also required in this domain. Few providers including Amazon EC2, GoGrid and LunaCloud offer features for fail-over handling, and taking snapshots and backup of system. 6) Scalability: One of the core properties of cloud computing is dynamic scaling to end-user’s computing requirements. Almost all of the current providers support auto-scaling and load balancing features. Only, Microsoft Azure and VMWare don’t auto-scale to end-user’s requirements. 7) Support: A good provider should provide options to develop applications in different programming languages and architecture, and enable deployment of these applications on operating systems of their choice. Most of the providers support different flavors of both Windows and Linux based environments. Almost all of the providers (except Google App Engine) offer deployment options for both 32 and 64 bit architectures. It can be seen that Java, Python and Ruby have been the dominant languages for development of applications and supported by most of the platforms.

V.

CONCLUSION

This paper provides a survey of features provided by major service providers for cloud. It enlightens the reader with fundamental concepts of cloud computing and then summarizes currently available comparative studies on the topic. Existing studies can be classified as qualitative, taxonomic and quantitative comparisons. The paper also performed a comparative study of major cloud computing providers currently available. It has been found that existing providers offer complementary features. Various types of service models exist and various others are emerging. Current progress on cloud computing are in two directions. The first type of providers focused on providing good reliability, while others focused on reduced cost for the provided features. Security and privacy have always been a concern of most of the users, but almost none of the providers offer comprehensive security support. It is also found out that current providers use own nomenclature for specification of their services, that lead to difficulties for an ordinary user to perform comparison among the service providers. The review of literature also points out about absence of a survey that can compare the providers from economic perspective. Therefore, future work should also be done on economic comparison of cloud systems. VI. [1]

[2]

[3]

[4]

[5]

REFERENCES

S. Ostermann, A. Iosup, N. Yigitbasi, R. Prodan, T. Fahringer, and D. Epema, "A Performance Analysis of EC2 Cloud Computing Services for Scientific Computing," Cloud Computing, vol. 34, 2010, pp. 115-131. R. Buyyaa, C. S. Yeoa, S. Venugopala, J. Broberg, and I. Brandic, "Cloud Computing and Emerging IT platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility," Future Generation Computer Systems, vol. 25, 2009, pp. 599-616. T. Dillon, C. Wu, and E. Chang, "Cloud Computing: Issues and Challenges," presented at 24th IEEE International Conference on Advanced Information Networking and Applications, Perth, Western Australia, 2010. W. Voorsluys, J. Broberg, and R. Buyya, "Introduction to Cloud Computing," in Cloud Computing: Principles and Paradigms, R. Buyya, J. Broberg, and A. Goscinski, Eds.: John Wiley & Sons, Inc., 2011, pp. 1-41. E. Ciurana, "Google App Engine," in Developing with Google App Engine, E. Ciurana, Ed.: First Press, 2009, pp. 1-10.

[6] [7]

[8]

[9] [10] [11]

[12]

[13]

[14]

[15] [16]

[17]

[18] [19] [20] [21] [22] [23]

[24]

T. Redkar and T. Guidici, Windows Azure Platform, 2012. "Public Cloud Hosting, Computing Storage and Networking by Rackspace", available at www.rackspace.com/cloud/, accessed on August 2013. "Cloud Infrastructure Security & Compliance with GoGrid: A GoGrid White Paper addressing Cloud Infrastructure Security and Compliance Concerns for Large, Medium and Small Businesses.," Cloudsleuth 2010. Y. Xi-Xian, "An Anatomy of Joyent Smart Cloud Computing Technology," Journal of Xi'an Eurasia University, vol. 1, 2012. "Free source code hosting for Git and Mercurial by Bitbucket", available at https://bitbucket.org, accessed on August 2013. Q. Zhang, L. Cheng, and R. Boutaba, "Cloud Computing: State-ofthe-art and Research Challenges," Journal of Internet Services and Applications, vol. 1, issue 1, 2010, pp. 7-18. C. N. Höfer and G. Karagiannis, "Cloud Computing Services: Taxonomy and Comparison," Journal of Internet Services and Applications (S I : Future Net Service Models & Designs), vol. 2, 2011, pp. 81-94. B. P. Rimal, E. Choi, and I. Lumb, "A Taxonomy and Survey of Cloud Computing Systems," presented at Fifth International Conference on INC, IMS and IDC, Seoul, Korea, 2009. A. Li, X. Yang, S. Kandula, and M. Zhang, "CloudCmp: Comparing Public Cloud Providers," presented at 10th ACM SIGCOMM conference on Internet measurement, Melbourne, Australia, 2010. "Compare Cloud Computing Providers", available at http://cloudcomputing.findthebest.com/, accessed on 28th July, 2013. "Top 6 IaaS Competitors in Cloud Platform", available at http://www.siliconindia.com/news/enterpriseit/Top-6-IaaSCompetitors-in-Cloud-Platform-nid-124330-cid-7.html, accessed on August 2013. "10 most powerful IaaS Companies ", available at http://www.networkworld.com/supp/2012/enterprise2/040912-ecsiaas-companies-257611.html, accessed on August 2013. "The Top 20 Infrastructure as a Service (IaaS) Vendors", available at http://www.clouds360.com/iaas.php, accessed on August 2013. "The Top Five Platform-as-a-service offerings you should know about", available at http://sdt.bz/35695, accessed on August 2013. "The Top 20 Platform as a Service (PaaS) Vendors", available at http://www.clouds360.com/paas.php, accessed on August 2013. "VMware vCloud Suite," VMware, Inc. 2012. "Citrix Cloud Platform for the Service Provider," Citrix Systems 2013. "Cloud Computing, Customer Relationship Management, (CRM)", available at http://www.salesforce.com/in/?ir=1, accessed on August 2013. "Cloud Server and Cloud Storage", available at www.lunacloud.com/, accessed on August 2013.