Content uploaded by Noman Islam
Author content
All content in this area was uploaded by Noman Islam on May 01, 2014
Content may be subject to copyright.
A comparative study of major service providers for cloud computing
Noman Islam
Team Lead, Research and Development
Technology Promotion International,
Karachi, Pakistan
Research Fellow
Center for Research in Ubiquitous Computing,
Karachi, Pakistan
noman.islam@nu.edu.pk
Aqeel-ur-Rehman
Associate Professor
FEST, Hamdard University,
Karachi, Pakistan
Research Fellow
Center for Research in Ubiquitous Computing,
Karachi, Pakistan
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. I
NTRODUCTION
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
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. B
ACKGROUND
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.
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. R
ELATED 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 Providers compared Features compared Comparison Type Conclusion
Zhang et al.
[11]
To present an updated
account of features
provided by selected
cloud service providers
Amazon EC2
Microsoft Windows
Azure
Google AppEngine
Services, applications,
virtualization mechanism
and scalability
Qualitative Existing providers offer
diverse features. Therefore,
an end-user should use
more than one providers
for attaining his business
objectives
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 Currently, the provider
doesn’t comply with
requirements for market
oriented cloud computing.
Research efforts are
therefore required to
introduce new models
Rimal et al.
[13]
Development of a
taxonomy that can
classify selected cloud
providers
AWS
GoGrid
FlexiScale
Mosso
Google AppEngine
GigaSpaces
Microsoft Windows
Azure
RightScale
SunCloud
SalesForce.com
Virtualization mechanism,
services, scalability,
reliability,
interoperability, security
and tools
Taxonomy-based When a cloud provider
share a resource, it must be
compensated for its
contribution
Hofer et al.
[12]
Development of a
taxonomy that can
classify selected cloud
providers
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
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
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
GoGrid [8] Joyent [9] Rackspace [7] VMWare [21] Amazon EC2 [1]
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
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 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’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 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
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 products /
services
Computation, load
balancing, storage,
content distribution
network
Computation, storage,
private cloud
Managed cloud,
block storage, load
balancing, monitoring
Computation, data
center, recovery manager
Elastic block store, IP
addresses, virtual private
cloud, cloud watch, clusters
etc.
Access interface Web-based, API Web-based, API,
console
Web-based control
panel API Web-based, API, console
Security features
Preventive measures Basic Basic Basic Basic Moderate
Reactive measures × Basic Basic Basic Moderate
Reliability Good Inadequate Good Poor Good
Availability (%) 100 100 100 n/a 99.9
Scalability Good Good Good Basic Good
Support Good Good Good Good Good
Tools/ framework × C/C++, Java, PHP,
Python, Ruby × Java, Perl, PHP, SQL
Amazon machine
image (AMI), Java, PHP,
Python, Ruby
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]
Introduction
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 platform-
as-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 multi-
tenant 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
Major
products /
services
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
Access
interface API Web-based, API, console Web-based Web-based, API Web-based, API,
console
Security
features
Preventive
measures × Basic Basic Moderate Moderate
Reactive
measures × 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
Support Basic Good Good Basic Good
Tools /
frameworks
Django, Pylons,
CherryPy, web2spy,
Java, Python
Java, PHP, Python, Basic × Java, PHP, Ruby ×
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. C
ONCLUSION
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. R
EFERENCES
[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.
[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] Y. 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, accessed on August 2013.
[11] Q. Zhang, L. Cheng, and R. Boutaba, "Cloud Computing: State-of-
the-art and Research Challenges," Journal of Internet Services and
Applications, vol. 1, issue 1, 2010, pp. 7-18.
[12] 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.
[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://cloud-
computing.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-
Competitors-in-Cloud-Platform-nid-124330-cid-7.html, accessed on
August 2013.
[17] "10 most powerful IaaS Companies ", available at
http://www.networkworld.com/supp/2012/enterprise2/040912-ecs-
iaas-companies-257611.html, accessed on August 2013.
[18] "The Top 20 Infrastructure as a Service (IaaS) Vendors", available at
http://www.clouds360.com/iaas.php, accessed on August 2013.
[19] "The Top Five Platform-as-a-service offerings you should know
about", available at http://sdt.bz/35695, accessed on August 2013.
[20] "The Top 20 Platform as a Service (PaaS) Vendors", available at
http://www.clouds360.com/paas.php, accessed on August 2013.
[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/ , accessed on August 2013.