ICICTT, 2013 A comparative study of major service providers for cloud computing Noman Islam Team Lead, Research and Development Technology Promotion International Research Fellow Center for Research in Ubiquitous Computing, noman.islam@nu.edu.pk Aqeel-ur-Rehman Associate Professor FEST, Hamdard University Research Fellow Center for Research in Ubiquitous Computing aqeel.rehman@hamdard.edu 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 end-users. 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. Keywords cloud computing, high performance computing, cloud service provider, provider comparison 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-users demands. Similar to the conventional utilities, users can consume the computing resources from the large pool of resources. They dont 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 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. II. BACKGROUND 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. 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. 978-969-9825-9/13/$30 c ICICTT2013
International Conference on Information, Communication Technology Trends, 2013 229 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-users 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 organizations network, all the policies of the organization are applied on the resources available over VPN. An example of this type of service is Amazons 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 customers 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 providers features and used it for comparison of existing providers. The attributes considered for the comparison were providers 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]. 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.
230 A comparative study of major service providers for cloud computing TABLE I. A SUMMARY OF COMPARATIVE STUDIES DONE ON CLOUD COMPUTING PROVIDERS Zhang et al. [11] Buyya et al. [2] Rimal et al. [13] Hofer et al. [12] Li et al. [14] Objective Providers compared Features compared Comparison Type Conclusion To present an updated account Amazon EC2 Microsoft Services, applications, virtualization Qualitative Existing providers offer di- of features provided by selected Windows Azure Google mechanism and scalaverse features. Therefore, an cloud service providers AppEngine bility end-user should use more than one providers for attaining his business objectives To present the notion of market oriented cloud computing Development of a taxonomy that can classify selected cloud providers Development of a taxonomy that can classify selected cloud providers To propose a novel framework for comparing different attributes (cost and performance etc.) of current cloud providers Amazon EC Google AppEngine Microsoft Live Mesh SunNetwork.com GRIDS Lab Aneka AWS GoGrid FlexiScale Mosso Google AppEngine GigaSpaces Microsoft Windows Azure RightScale SunCloud SalesForce.com Microsoft Windows Azure Google AppEngine AWS Rackspace Services, virtualization mechanism, QoS, control mechanism and tools Virtualization mechanism, services, scalability, reliability, interoperability, security and tools Services, license model, users type, payment model, QoS, security, standard and openness etc. Computation, storage and network performance Qualitative Taxonomy based Taxonomy-based Quantitative Currently, the provider doesnt 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 There is a need for standardization such that issues of interoperability among different providers can be addressed Variations have been observed in performance of providers for different scenarios 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 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 providers 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. 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
International Conference on Information, Communication Technology Trends, 2013 231 TABLE II. A COMPARISON OF FEATURES PROVIDED BY MAJOR IAAS CLOUD COMPUTING PROVIDERS GoGrid [8] Joyent [9] Rackspace [7] VMWare [21] Amazon EC2 [1] The provider offers three Rackspace offers 100% availability VMWares cloud solution is types of services. The compute of applications based based on its vcloud suite that service facilitates in execution on RAID10. Besides; users provides an API based access of reliable and resilient can also create backup snap- to manage and control cloud. applications on cloud. The shot images for later use. The most prominent feature manta storage service offers A RESTful API is provided of provider is improved reliability a scalable and distributed object along with web-based control based on predictive and storage service. The third panel and console based ac- data driven approach to in- service provided is facility for cess for controlling cloud resourcecident reporting and problem private clouds. management Introduction GoGrid provides dynamic provisioning and scaling of resources in real-time 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 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 companys internal infrastructure with Amazon cloud Virtualization Xen hypervisor Solaris container OpenStack-based vsphere Xen hypervisor Pricing model Pay-as-you-go, then subscription Pay-as-you-go Pay-as-you-go Subscription Pay-as-you-go, then subscription Major Computation, load balancing, Computation, storage, private Managed cloud, block storage, Computation, data center, re- Elastic block store, IPad- products / storage, content distribution cloud load balancing, monitorcovery manager dresses, virtual private cloud, services network ing cloud watch, clusters etc. Access Web-based, API Web-based, API, console Web-based control panel API Web-based, API, console interface Security features Preventive Basic Basic Basic Basic Moderate measures Reactive measures Basic Basic Basic Moderate Reliability Good Inadequate Good Poor Good Availability Good Good Good Basic Good (Scalability Support Good Good Good Good Good frame- Tools/ work C/C++, Java, PHP, Python, Ruby Java, Perl,PHP, SQL Amazon machine image (AMI), Java,PHP,Python TABLE III. 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] Introduction Google provides a platform A window-based platform is Citrix provides an open source Salesforce.com offers the first Lunacloud provides a flexible to application development provided for deployment and platform-as-a-service cloud to real-time cloud to develop platform for development of based on Java and Python. execution of applications. The develop applications. The services fast, secure and reliable multi- cloud applications, controlled The various cloud services applications can be written are provided on a subtenant customized or busi- via web-control panel and provided are cloud storage in C, C++ and C. The SQL scription based costing model, ness apps. Among the various RESTful API. The provider and BigQuery etc. Azure storage service enables hosting of data in cloud data centers where users can build a public, private or hybrid clouds cloud options available are cloud for sales, business services and marketing etc. 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 Major products / services Access interface Security features Preventive measures Reactive measures Computation, Cloud Web server, Big Data, SQL Public and private cloud, Sales cloud, service cloud, Cloud server, cloud storage, SQLDatabase, Google cloud storage Azure storage etc. DHCP, load balancing, IP addresses marketing cloud cloud appliances API Web-based, API, console Web-based Web-based, API Web-based, API, console Basic Basic Moderate Moderate Basic Basic Basic Reliability Inadequate Inadequate Poor Good Good Availability Good Basic Basic Good Good (Scalability Support Basic Good Good Basic Good Tools / frameworks Django, Pylons, CherryPy, Java, PHP, Python, Basic Java, PHP, Ruby web2spy, Java, Python
232 A comparative study of major service providers for cloud computing 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-users computing requirements. Almost all of the current providers support auto-scaling and load balancing features. Only, Microsoft Azure and VMWare dont auto-scale to endusers 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. [6] T. Redkar and T. Guidici, Windows Azure Platform, 2012. [7] public Cloud Hosting, Computing Storage and Networking by Rackspace, available at www.rackspace.com/cloud/, accessed on August 2013. [8] 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. [9] Xi-Xian, An Anatomy of Joyent Smart Cloud Computing Technology, Journal of Xi an Eurasia University, vol. 1, 2012. [10] Free source code hosting for Git and Mercurial by Bitbucket, available at https://bitbucket.org, [11] Q. Zhang, L. Cheng, and R. Boutaba, Cloud Computing: Stateof-the-art and Research Challenges, Journal of Internet Services and Applications, vol. 1, issue 1, 2010, pp. 7-18. [12] C. N. Hfer 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. [13] 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. [14] 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. [15] Compare Cloud Computing Providers, available at http://cloudcomputing.findthebest.com/, accessed on 28th July, 2013. [16] Top 6 IaaS Competitors in Cloud Platform, available at http://www.siliconindia.com/news/enterpriseit/top-6-iaas-competitorsin-cloud-platform-nid-124330-cid-7.html, [17] 10 most powerful IaaS Companies, available at http://www.networkworld.com/supp/2012/enterprise2/040912-ecsiaas-companies-257611.html, [18] The Top 20 Infrastructure as a Service (IaaS) Vendors, available at http://www.clouds360.com/iaas.php, [19] The Top Five Platform-as-a-service offerings you should know about, available at http://sdt.bz/35695, [20] The Top 20 Platform as a Service (PaaS) Vendors, available at http://www.clouds360.com/paas.php, [21] VMware vcloud Suite, VMware, Inc. 2012. [22] Citrix Cloud Platform for the Service Provider, Citrix Systems 2013. [23] Cloud Computing, Customer Relationship Management, (CRM), available at http://www.salesforce.com/in/?ir=1, accessed on August 2013. [24] Cloud Server and Cloud Storage, available at www.lunacloud.com/, REFERENCES [1] 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. [2] 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. [3] 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. [4] 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. [5] E. Ciurana, Google App Engine, in Developing with Google App Engine, E. Ciurana, Ed.: First Press, 2009, pp. 1-10.