ATHABASCA UNIVERSITY INTEROPERABILITY CHALLENGES...
Transcript of ATHABASCA UNIVERSITY INTEROPERABILITY CHALLENGES...
ATHABASCA UNIVERSITY
INTEROPERABILITY CHALLENGES WITH CLOUD COMPUTING
BY
PIOTR M. NOWAK
A project submitted in partial fulfillment
of the requirements for the degree of
MASTER OF SCIENCE in INFORMATION SYSTEMS
Athabasca, Alberta
March, 2014
© Piotr Nowak, 2014
i
DEDICATION
This project is dedicated to my parents who have continued support my pursuit of education.
ii
ABSTRACT
The research described interoperability challenges between different cloud providers and
analyzed the various standards that could help achieve cooperation between clouds. Despite
the identification of the many benefits of cloud properties (including elasticity, accessibility
and flexibility to users) it continued to be limited to one cloud provider. The interoperability
between cloud environments was seen as an issue with the development of proprietary
solutions by cloud providers. In order to enable the end users to freely select cloud services
and products from one cloud to another, a standardized approach was deemed necessary. The
study analyzed multiple research articles related to interoperability challenges in cloud
computing environments. This essay described the most popular standards that have been
designed to achieve cloud interoperability. The standards, such as Open Virtualization
Format (OVF), Cloud Data Management Interfaces (CDMI), Open Cloud Computing
Interface (OCCI), Cloud Infrastructure Management Interface (CIMI) and Service-Oriented
Architecture (SOA) framework were categorized by the cloud service models. The research
constructed and evaluated two hypotheses: “If an Open Virtualization Format helps to
achieve the virtual machine portability then the implementation of OVF would solve the
problem of the virtual machine migration from one cloud provider to another” and “If a
Service-Oriented Architecture helps to solve the problem of software as a service
interoperability, then the use of SOA would resolve the interoperability problems with the
SaaS model of cloud computing”. The study used different research methods to analyze the
standards and to provide recommendations. The association analysis and causal inferencing
research methods were used to analyze the standards and to evaluate the hypotheses. The
study was performed using a meta-analysis research method. The research pointed out the
iii
issues and challenges related with cloud interoperability. Additionally, the essay compared
the portability of the software in traditional computing system versus cloud computing. The
study presented the future trends of migrating e-learning systems to cloud computing
platforms. The research summarized the findings and made suggestions for further research.
iv
ACKNOWLEDGMENTS
Thanks to Dr. Qing Tan for his tutoring and supervision of this research, and to Athabasca
University for the provisioning of the Master of Science in Information Systems program.
I wish to thank my fellow postgraduate students who I was able to work, collaborate with and
learn from on different group projects and courses throughout the program.
Special thanks to Jennifer Bawden for her support and help in reviewing this research essay.
v
TABLE OF CONTENTS
CHAPTER I - INTRODUCTION ............................................................................. 1
Research purpose and objectives .......................................................................... 2
Research questions and hypotheses ...................................................................... 2
Research methodologies ....................................................................................... 4
Research scope and limitations ............................................................................. 5
Research contribution ........................................................................................... 6
CHAPTER II - REVIEW OF RELATED LITERATURE .................................... 7
Interoperability issues with cloud computing ....................................................... 7
The importance of standards in cloud computing ................................................. 9
Standards that can help solve interoperability issues .......................................... 10
Service-Oriented Architecture and cloud computing ......................................... 17
CHAPTER III - METHODOLOGY ....................................................................... 19
The cloud computing concept ............................................................................. 20
Cloud standardization initiatives......................................................................... 23
Cloud standards analysis ..................................................................................... 26
Service-Oriented Architecture and cloud computing analysis ............................ 32
The hypotheses evaluation .................................................................................. 35
CHAPTER IV - ISSUES, CHALLENGES AND TRENDS .................................. 37
Issues and challenges with the cloud interoperability......................................... 37
Software portability in the cloud versus traditional computing system .............. 39
Trends of migration of e-learning platforms into cloud computing ................... 41
CHAPTER V - CONCLUSIONS AND RECOMMENDATIONS ....................... 44
vi
Conclusions ......................................................................................................... 44
Recommendations for further research ............................................................... 46
REFERENCES .......................................................................................................... 47
vii
LIST OF TABLES
Table I. Summary of groups involved in standard cloud creation. ............................. 24
Table II. Summary of functionalities of OVF, OCCI, CDMI standards..................... 29
viii
LIST OF FIGURES
Fig. 1. Cloud computing architecture. ........................................................................ 21
Fig. 2. Cloud computing resource allocation. ............................................................. 22
Fig. 3. The cloud storage reference model using CDMI. ............................................ 27
Fig. 4. The OCCI boundary protocol in cloud provider’s architecture. ...................... 28
Fig. 5. The SOA Reference Architecture. ................................................................... 34
Fig. 6. Increasing interoperability issues in cloud models. ......................................... 38
Fig. 7. Portability of applications in traditional computing system. ........................... 40
1
CHAPTER I
INTRODUCTION
The concept of cloud computing has grown in popularity as a result of virtualization and
web service oriented architecture. The cloud computing paradigm provides infrastructure,
platform and software as a service to clients. Although the concept of cloud computing is
versatile, interoperability challenges still exist among different cloud computing
implementations.
Cloud computing interoperability generally refers to the ability to migrate services or to
move data from one provider to another. As cloud providers design their own proprietary
solutions to manage and monitor resources in clouds, interoperability between the cloud
environments continues to be an issue. A standardized approach is necessary in order to
enable the end user to freely select and distribute services from one cloud to another.
There are different options and concepts proposed by research groups to achieve cloud
interoperability. Reaching industry consensus is not a simple task. Further research and
discussion are needed.
Cloud computing should provide users with the full benefits of cloud properties
including elasticity, scalability, accessibility, and flexibility, and should not limit it within
only one particular cloud provider. There are different protocols, standards, and concepts
available that target cloud interoperability problems. True cloud interoperability benefits are
being recognized by clients and will be needed to be implemented sooner rather than later.
2
Research purpose and objectives
The objective of the research was to describe, analyze and validate the impacts of the
various standards of interoperability issues that exist today with cloud computing. This
research essay, interoperability challenges with cloud computing, described issues that exist
between cloud environments and also reviewed different solutions currently available that
could help achieve cooperation between different cloud computing platforms. The study was
performed using a meta-analysis research method. It used different techniques to analyze and
to evaluate standards. The standards used to achieve interoperability with clouds were
categorized by the cloud service model.
This meta-analysis research essay brought together several studies and verified the
results in a systematic review that could be used for further research.
Research questions and hypotheses
Research questions were created in order to comprehend the research problem and to
determine if the current proposed standards could help to achieve interoperability with cloud
computing. In order to better understand the phenomenon of the subject, some preliminary
questions were created such as:
What are the interoperability problems with cloud computing?
What standards can be implemented in cloud computing in order to help solve the
issue of interoperability?
Once the initial questions were answered and the problem was understood, further questions
could be asked regarding technology related to interoperability between clouds. Because
cloud computing uses a web service framework, some important questions should be asked
such as:
3
What are the effects of Service-Oriented Architecture (SOA) on the interoperability
with the cloud computing environment?
How software portability differs in the cloud as compare to the traditional computing
system?
Although there are numerous articles related to cloud computing and cloud services, the
interoperability challenges are still not widely analyzed and described.
After analyzing the problem of interoperability in cloud computing, the following
hypotheses were constructed in an alternative form (HA):
As an If, then statement;
First hypothesis:
“If an Open Virtualization Format helps to achieve the virtual machine portability
then the implementation of OVF would solve the problem of the virtual machine
migration from one cloud provider to another.”
Second hypothesis:
“If a Service-Oriented Architecture helps to solve the problem of software as a
service interoperability, then the use of SOA would resolve the problems with
interoperability in the SaaS model of cloud computing.”
4
Research methodologies
The research was performed using a meta-analysis research method. Data was collected
from different research articles and studies. The reference material used in this essay to
support the research came from scholarly articles, journals, and publications published by the
Institute of Electrical and Electronics Engineers (IEEE) and/or the Association for
Computing Machinery (ACM). The literature covered the period from 2008 to 2013 and was
researched using the Athabasca University Digital Library. The essay reviewed industry
standards available to help solve interoperability problems between clouds.
The research included an analysis of the data association between collected standards
and their roles. The association analysis in this research worked based on the relationship
between dependent variables (data migration, workload management, migration of virtual
machines) and independent variables (standardized migration protocols, standardized
management interfaces, Open Virtualization Format). Analyzing trends and relationships
allowed for the establishment of association rules. In this research, knowing the association
rules or patterns was helpful to support the hypotheses as well as to provide a conclusion on
the impacts that standards have on the interoperability issues among the cloud environments.
The study used various research methods to obtain, assess, analyze and evaluate the
gathered data. The research used the process of causal inference in order to analyze the
relationship between the cause and effect. In other words, it was finding the reason why
something had happened and what had caused it to occur. In order to make a conclusion or
recommendation, multiple actions were compared using causal effect reasoning. The
difference between causation and association was a key part in the comprehension of causal
inferencing. For example, the hypothesis that Service-Oriented Architecture (SOA) helps to
5
achieve interoperability among clouds might seem as though interoperability was associated
with the SOA paradigm, however, it was not the case in either relationship or association. It
was a causal effect of how the SOA was implemented in order to achieve interoperability
between different cloud providers. This research used the causal inferencing process to
analyze and evaluate the hypothesis “If SOA helps achieve the problem of interoperability,
then the use of SOA would solve the interoperability problem with cloud computing”.
Research scope and limitations
The research focused on categorizing the interoperability issues based on cloud
operation, functionality, tools, and technology. The essay used multiple techniques and
approaches to gather information, analyze, evaluate and to provide recommendations. The
research evaluated the hypothesis by using a causal effect reasoning research method.
The essay emphasized the problems of interoperability among different cloud providers.
It also presented various approaches in order to solve the problem of interoperability with
clouds. The research summarized the most current and promising solutions that could be used
for further research, to ease the multi cloud cooperation.
The research described the findings of different protocols, standards, and tools used to
help solve the problem of interoperability. It detailed the implications and issues related to
cloud interoperability. Finally, the essay described new trends as well as proposed further
research in order to achieve cloud interoperability. The research may have a limited life span
as cloud computing is a fast evolving technology and new tools and standards are continually
being introduced.
6
Research contribution
This essay gathered information from multiple research papers, compared and analyzed
different protocols, standards, tools, and software that could help achieve interoperability
between clouds. The research questions were unique to the broad literature context as they
integrated the findings from different research documents. In order to answer the research
questions and evaluate the hypothesis, the research analyzed information from multiple
sources.
The research essay could be used as a comprehensive overview of cloud interoperability
issues and could list the possible solutions to the overall problem. Additionally, the essay
could enable further research and development of new standards or could assist with the
implementation of existing ones in an effort to solve the cloud interoperability problems. The
research was performed using a meta-analysis research method.
7
CHAPTER II
REVIEW OF RELATED LITERATURE
Cloud computing technology by definition should allow for the interoperability of cloud
products and services between different providers. However current cloud implementations
have proprietary solutions to monitor and access cloud resources as different approaches and
concepts do not allow the interoperability between cloud providers. Clients, organizations
and the community have realized that in order to promote interoperability, to avoid vendor
lock-in, and to ease the migration process of cloud services, standards are needed. This
section analyzed and evaluated multiple research articles related to problems with
interoperability between different cloud providers. In addition it presented protocols and
standards that help achieve cooperation between clouds.
Interoperability issues with cloud computing
Baird (2010) described cloud computing as a blend of technologies that include
virtualization, grid computing and other popular technologies commonly characterized as
Web 2.0 services. He mentioned that cloud computing is based on proprietary standards,
some open source standards and different business model implementations. Borenstein and
Blake (2011) emphasized the need for a standardization approach as multiple technologies
and a variety of standards are currently present in cloud computing. The authors mentioned
that the standards promote interoperability, enable the use of open middleware, prevent
vendor lock-in, and ease the migration of users to cloud based services. They noticed that
organizations are reluctant to move their services to cloud computing because they are
understandably cautious of becoming dependent on specific technology, or becoming locked-
8
in to a particular provider. In addition, they highlighted that the success of the Internet has
made many people aware of the importance of standards in keeping the infrastructure
organized and in avoiding vendor lock-in. The authors agreed that standards are critically
important with cloud computing.
Harsh, Dudouet, Cascella, Jegou, and Morin (2012) presented a similar point of view
outlining that one major obstacle in the adoption of cloud computing is the heterogeneity of
hardware and software solutions. Customers (end users, organizations) depend on the cloud
for running their business applications and want to be able to move their data and
applications easily from one cloud provider to another. The authors stated that cloud
computing has assisted customers in their initial investment in hardware and in managing the
infrastructure, however, they acknowledge that current solutions impose the customer to use
a single cloud technology due to the high cost, or lack of ability to migrate data and the
applications, to a different cloud provider. The authors emphasized that the challenges of
vendor lock-in become even more evident in the case of Platform as a Service (PaaS) which
restrict users from the migration of their applications onto a different cloud provider.
Standardization among cloud providers is the only way to avoid vendor lock-in situation as
well as to create a more competitive market for cloud providers and customers. Harsh et
al.(2012) stressed that the situation of vendor lock-in may keep customers in fields such as
education, government, healthcare, and banking away from clouds. They agreed that
addressing the issue of interoperability and portability is necessary. Additionally, the authors
pointed out that standardization of cloud computing could enable smaller companies to enter
a cloud technology market currently dominated by the big cloud providers.
9
The importance of standards in cloud computing
The importance of standards in cloud computing is described by Lewis (2013). He
mentioned that there is a lot of discussion on the role of standards in the cloud. The author
noticed that a large amount of work with standards development has already been performed
for cloud computing. Lewis observed that some parties see the cloud as something
completely new that requires an entirely new set of standards, while other groups see the
cloud as an existing technology that already has well established standards. The author
mentioned that the cloud computing community sees the lack of cloud interoperability as a
barrier to cloud computing adoption and promotion because organizations fear a “vendor
lock-in” situation. Once an organization selected a cloud provider, it is not easily to move
services or to change providers. Lewis added that a common tactic for enabling
interoperability is the use of open standards. The author concluded that there are currently
many clouds’ standardization projects. Some projects focus on standardizing parts of cloud
computing environments including workloads, authentication, and/or data access. Others
focus on standardizing how the parts should work together as a solution.
Dowell, Barreto, Michael, and Shing (2011) stated that the ability to provide
interoperability is increasingly important with the maturity of cloud computing systems.
They raised an interesting question regarding interoperability with cloud computing: “Can I
deploy existing cloud artifacts (e.g., virtual server/desktop images, software applications,
databases) on another service provider’s services without modification to those artifacts?”
The authors pointed out that the current practice of integrating software applications via an
Application Programming Interface (API) requires a significant amount of coding as well as
ongoing maintenance due to frequent modifications and updates. The authors mentioned that
10
design and implementation of cloud applications using the Service-Oriented Architecture
(SOA) framework and Web Services principles enable interoperability between different
cloud providers. (Dowell et al., 2011)
Machado, Hausheer, and Stiller (2009) explained that one of the key characteristics that
makes cloud computing different from traditional enterprise systems is that the infrastructure
may be programmable. In traditional computing environments, physical resources including
servers, storage, and network connections are primarily deployed using human effort. In
cloud computing, developers can describe how the components are virtually configured and
connected and how they interact with each other. In order to accomplish this virtual
deployment and management of the resources, developers design and code multiple
Application Programming Interfaces (API). The cloud APIs are not standardized and each
cloud provider has its own specific API for deploying and managing its services. (Machado
et al., 2009) Similarly Armbrust, Joseph, Katz, and Patterson (2009) observed that the APIs
for cloud computing are still essentially proprietary and have not been standardized. As a
result, customers can not easily extract their data and programs from one cloud to run on
another. A concern of complexity of extracting or migrating data from one cloud provider to
another prevents some organizations from cloud computing adoption. (Armbrust et al., 2009)
Standards that can help solve interoperability issues
This section described popular standards that are already implemented through various
cloud providers. The standards allow solutions to interoperability challenges by designing
and implementing cloud products and services in a way that they can collaborate among
different cloud providers. Additionally, the ability to design interoperable elements enables
recycling and the reuse of the cloud components.
11
Open Virtualization Format (OVF) – exists in IaaS cloud model. Zhang, Wu, and
Cheung, (2013) described the Open Virtualization Format (OVF) as a packaging standard
initiated by Distributed Management Task Force (DMTF) for the deployment of virtual
appliances. The OVF abstracts a virtual appliance as a single atomic unit enabling an error
free deployment administration of virtual appliances across multiple virtualization platforms.
The authors pointed out that this standard is widely used by major cloud providers. An OVF
package contains multiple files in a single directory. The directory always contains an XML
file called OVF descriptor with the virtual appliance name, hardware specifications and
references to other files in the package. In addition, the OVF package typically contains a
network description, a list of virtual hardware, virtual disks, certificate files and information
about the operating system. The DMTF group promotes this format as vendor neutral as it
does not contain references to any vendor specific information. The OVF is flexible and its
portable format allows packaging and the distribution of virtual appliances with the following
key features:
Efficient distribution of virtual appliances;
User friendly and automated process simplifying the installation of a virtual appliance
Support for multi virtual machine configurations
Portable VM packaging that does not rely on any particular host platform, hypervisor,
or guest operating system.
OVF helps to solve multiple cloud interoperability issues with virtual appliances including:
Life cycle of virtual appliance because standard format that includes flexible XML
descriptor enables cloud clients to automate service deployment;
12
Virtualization platform interoperability as the OVF allows different virtualization
platforms to be defined within a virtual appliance;
Migration process between different cloud providers because OVF provides a simple
and unified interface for virtualization managers. (Z. Zhang et al., 2013)
Similarly, Petcu (2011) described the OVF as a widely adopted standard that can be
used across heterogeneous virtualization platforms (i.e. different hypervisor). The author
noticed that OVF format allows the clients to deploy virtual appliances with any cloud
provider. Lewis (2013) also concurred that the OVF standard enables VM migration from
one cloud provider to a different cloud provider. The author stated that a manual, time
consuming process of image retrieval from the current provider; the creation of a new image
for a new provider; and the reinstallation of software has to be performed as a result of not
having an OVF standard. (Lewis, 2013)
Harsh et al. (2012) also described the Open Virtualization Format (OVF) as a package
of virtual appliances in a standard and portable format. The authors noted that the
descriptions of virtual appliance features and components are written in an XML file. They
include:
Virtual machine’s (VM) hardware and contextualization information;
Disks and images used;
Networking;
Startup order of different VMs. (Harsh et al., 2012)
The information presented by different researchers aligned with many overlapping
comments and discussions. Researchers agreed that the OVF standard helps to achieve
virtual machine interoperability between different cloud providers. In addition, the
13
documents showed that the OVF standard is implemented throughout the multiple cloud
providers.
Cloud Data Management Interface (CDMI) – exists in IaaS cloud model. Z. Zhang et al.
(2013) presented the Cloud Data Management Interface (CDMI) proposed by the Storage
Networking Industry Association (SNIA). The authors mentioned that CDMI defines the
functional interface that applications can use to create, retrieve, update and delete data
elements from a cloud. Additionally the CDMI features include:
The discovery of storage capabilities within the cloud storage
The management of storage containers and the data
The associated metadata with storage containers and objects.
The CDMI abstracts the storage as containers that hold data objects and that then enables
them to address the following cloud interoperability storage issues:
Backup
enabled by CDMI as a simple interface. Cloud users can schedule the backup
or perform backup operations manually using the interface.
Replication
made possible by CDMI containers and objects that are mapped to a mounted
file system. The mapping allows flexible replication in the low level data
storage, across different data centers.
Snapshots
defined by CDMI as a snapshot of a virtual machine at particular time. A
snapshot process is performed as a container update operation. The CDMI
14
copy operation enables a snapshot to be restored even across different cloud
providers. (Zhang et al., 2013)
Petcu (2011) also presented CDMI as a standard for data management. The author
described CDMI as a standard that specifies a functional manner on how applications create,
retrieve, update, and delete data from the cloud. Petcu agreed that standard interfaces to
metadata and data objects are needed and that a current solution for creating, accessing,
updating and deleting data between different clouds should be CDMI. (Petcu, 2011)
Harsh et al.(2012) noted the Cloud Data Management Interface (CDMI) exists in the
IaaS cloud model and is defined as a RESTful interface. The authors agreed that CDMI
allows cloud applications and users to retrieve and perform operations on the data which
resides in the cloud. The CDMI enables the discovery of storage elements within the cloud
and allows administrators to manage containers, metadata and user accounts as well as the
permissions related to cloud storage. (Harsh et al., 2012)
In addition, Lewis (2013) described data migration from one cloud provider to another
as an important task. The author described the data migration process as being similar to a
workload migration that requires extraction of data from one cloud environment and the
upload of data to another cloud environment. The author emphasized that the program should
continue to work and to perform the same operations including: create, retrieve, update, or
delete (CRUD) on migrated data to new cloud provider as on that data in the original cloud.
The researcher was in agreement with others that CDMI is a standard that defines an API to
CRUD operations on data elements and enables discovery of cloud storage capabilities and
management of data containers. The author stated that CDMI data migration standard is
already supported by multiple providers. (Lewis, 2013) After comparing several research
15
articles, it can be observed that the CDMI standard helps to achieve data migration
interoperability, thereby allowing the end user to create, retrieve, upload, or delete operations
to the data.
Open Cloud Computing Interface (OCCI) – exists in IaaS, PaaS and SaaS cloud model.
Z. Zhang et al. (2013) described Open Cloud Computing Interface (OCCI) as a boundary API
that acts as a service front-end to an IaaS provider’s internal infrastructure management
framework. The OCCI is under the umbrella of the Open Grid Forum (OGF) with industry
and academia members. The authors mentioned that OCCI was originally initiated to create a
remote management API for IaaS model-based services. This development allowed the
creation of interoperable tools for common tasks such as deployment, automatic scaling and
monitoring. Additionally, the OCCI evolved into a flexible API with a focus on
interoperability and a high degree of extensibility. The researchers noticed that the OCCI is
compatible with the existing standards such as OVF and CDMI and serves as an integration
point for standardization efforts among the Distributed Management Task Force (DMTF),
Internet Engineering Task Force (IETF) and the Storage Networking Industry Association
(SNIA). The OCCI specification defines a set of common standard management interfaces
for IaaS cloud interoperability. (Zhang et al., 2013)
Petcu (2011) emphasized that standardized tools for monitoring and managing clouds
can simplify managing the resources in multiple cloud environments. The author stated that
standard management interfaces to IaaS resources should be OCCI. (Petcu, 2011)
Additionally, Harsh et al.(2012) mentioned that Open Cloud Computing Interface
(OCCI) was initially intended to manage the deployment, automatic scaling, and monitoring
activity in the IaaS cloud model however the standard is extensible and can be used for PaaS
16
and SaaS services as well. The standard supports HTTP rendering and provides infrastructure
extensions to help with cloud interoperability challenges in the IaaS model. (Harsh et al.,
2012)
Cloud Infrastructure Management Interface – Common Information Model (CIMI-CIM)
– exists in IaaS cloud model. Reddy (2013) presented CIM as a conceptual information
model that describes computing and business entities. The author mentioned that CIM
enables a consistent definition and data structure by using object oriented principals. CIM
includes expressions for common elements such as object classes, properties, methods and
associations. CIM uses terminology specific to the model and the principles of object
oriented programming. Reddy (2013) noted that the standard language used to define
elements of CIM is the Managed Object Format (MOF). CIM enables to exchange
management information about objects. And the management software that is written using
CIM standard can work without conversion among different implementations as long as the
common information model is followed. The author gave an example of an entire data center
which could be modeled because of CIM objects and different hypervisors that are able to
associate a data center using CIM entity association rules. The relationship can be easily
modeled using CIM.
Cloud Infrastructure Management Interface – Common Information Model (CIMI-CIM)
is also mentioned by Harsh et al.(2012) as a work-in-progress standardization effort within
the DMTF consortium. CIM targets the management of resources within the IaaS domain.
Additionally, the author mentioned that CIM attempts to provide support to an Open
Virtualization Format standard by using a RESTful management interface for common IaaS
components including machines, networks, volumes, etc. (Harsh et al., 2012)
17
The other document published by The Open Group (2013) also mentioned that the
DMTF defined the Cloud Infrastructure Management Interface (CIMI) model, with a REST
interface and XML schema. The model uses a representation of its generic management
meta-model (CIMI-CIM). (The Open Group, 2013)
Service-Oriented Architecture and cloud computing
The Service-Oriented Architecture framework promotes creation of applications as a set
of loosely-couple components, objects that perform a specific function. This design enables
better applications integration and efficient software development by reusing of the
components, objects that are already created. Yang and Zhang (2012) described the
importance of Service-Oriented Architecture (SOA) to cloud computing. They mentioned
that the SOA framework enables services to be created that can be shared and reused. This
approach allows reusable components to be built with standardized interfaces that can be
used in multiple applications within and across different cloud computing environments. The
authors pointed out that the SOA is important to the cloud computing applications design
process as it enables group functionality among business processes and to reuse them as
interoperable services. Yang and Zhang emphasised that SOA technology simplifies the
integration of cloud computing services. They described SOA and cloud computing as
complementary technology that work together to provide enterprise, cost effective system
solutions.
Azeez et al. (2010) emphasized that Service-Oriented Architecture applications content
collection of artifacts such as data access, business logic and process, service interface, web
interface and service. The authors mentioned that SOA framework is heavily used today to
implement and connect business processes, enterprise systems with web applications. They
18
agreed that the SOA framework allows the secure sharing of a single instance or artifact with
different applications using the Software as a Service model of cloud computing. The authors
described this feature as multi-tenant SOA framework where the tenant, SOA artifact,
component is isolated and reused in different applications.
Oppong and Khaddaj (2012) also agreed that the SOA framework allows the delivery of
information systems solutions based on the business requirements. They mentioned that the
SOA is a compliment to the cloud services implementation. The main features of SOA,
flexibility and interoperability, enable a better applications and services integration
throughout cloud computing models.
Cloud computing as a technology that provides flexible and scalable services on demand
to the end users is seen as an extension of SOA by Bhakti et al. (2012). The authors indicated
that the SOA framework offers reusability, efficiency and integration of services however
more work has to be performed in order to adapt the SOA framework in cloud computing
applications.
19
CHAPTER III
METHODOLOGY
The objective of the methodology section in this research was to answer preliminary
research questions described in the introductory section of this essay; analyze and, categorize
cloud computing standards based on the cloud computing models, research an impact of
Service-Oriented Architecture (SOA) framework on cloud interoperability and evaluate the
hypotheses constructed in the introductory section of this research. The study was performed
using a meta-analysis research method. The first section explained the cloud computing
concept in order to understand how the cloud is designed and to provide background
information for the cloud service framework. Understanding cloud operations helped to
properly analyze the standards based on cloud computing models. The next section described
the cloud standardization initiatives and answered preliminary research questions. The
preliminary research questions were evaluated using multiple research articles. In the
following section, the standards analysis was performed based on the cloud computing
service models and functionality of each standard. The evaluation of standards was achieved
using the association analysis method in order to find the relationship between dependent and
independent variables. Establishment of association rules helped evaluate the impact of
standards on interoperability problem between clouds. The impact of SOA on cloud
interoperability was evaluated using a causal inferencing method in order to analyze the
relationship between cause and effect of SOA on the cloud interoperability. The first
hypothesis evaluation was performed using the association rule and the second hypothesis
evaluation was completed using causal effect reasoning.
20
The cloud computing concept
Cloud computing, as defined by the National Institute of Standards and Technology
(NIST), is “a model for enabling convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, storage, applications, and
services) that can be rapidly provisioned and released with minimal management effort or
service provider interaction”.
Cloud computing promotes five essential characteristics:
On-demand Self-service which provides clients with services when needed, without
human intervention.
Broad Network Access which allows users to access services using a broad range of
network devices, such as browsers, mobile phones, tablets, laptops, and workstations.
Resource Pooling which enables resources to not be dedicated to any particular
consumer but which are shared and allocated as required.
Rapid Elasticity which allows the amount of resources for a consumer to be expanded
and contracted easily and quickly in order to meet demand.
Measured Service which determines the amount of resources consumed in order to
provide automatic expansion and contraction and which provides usage visibility to
providers and consumers. (The Open Group, 2013)
Based on the services that it provides, there are three types of cloud service models:
Infrastructure-as-a-Service (IaaS) which consists mainly of computational
infrastructure available over the internet, such as computing power, data storage,
networking,
21
Platform-as-a-Service (PaaS) which is based on application development platforms
and enables the use of libraries, tools, and services in order to create and host
applications, and
Software-as-a-Service (SaaS) which enables cloud providers to offer applications to
clients for use as a service on demand. (Lewis, 2013)
The cloud computing architecture shown in fig. 1 includes the above mentioned service
models: software, platform and infrastructure within the context of information systems.
Fig. 1. Cloud computing architecture.
Software is a program that performs logical functions and processes data based on
predefined requirements. Platform is an environment that supports the applications and
performs generic functions. Infrastructure is a collection of physical components such as
processing power, data storage, or network communication resources. The software, platform
and infrastructure models can be seen in the cloud resource allocation as software application
programs (SaaS model), software application platforms (PaaS model) and virtual processors
and data storage (IaaS model). Fig. 2 shows the concept of cloud resource allocation.
22
Fig. 2. Cloud computing resource allocation.
(The Open Group, 2013)
The interoperability and portability of the IaaS service model benefits the most from
standardization efforts. The IaaS components are mainly virtual machine images and storage
units of data. The standardized format of virtual machines and data collation allow users to
migrate an image from one provider to another and run it without performing any changes.
Platform as a Service provides many capabilities right “out of the box,” including managed
application environments, user authentication, data storage, and other functionality in the
form of libraries that can be integrated into applications. The functionalities are tied to a
specific programming language and runtime environment. For example, the Google App
Engine supports applications written in Java, Python and Go. Microsoft Azure supports
applications written in .NET, and more recently applications written in Java, PHP, and
Node.js. The PaaS adoption allows for rapid development and deployment of the
23
applications. The PaaS model enables providers to make applications more portable and
interoperable by selecting platforms that support standardized tools and languages including
Java language, Java Database Connectivity (JDBC), Open Database Connectivity (ODBC),
and Structural Query Language (SQL).
The SaaS model is different than IaaS and PaaS as it relates to a licensing agreement
with third party software. The standardization of SaaS is limited as compared to the IaaS and
the PaaS model. The SaaS model can benefit from standardization of data structure within
applications to enable easy migration of data to a new SaaS provider. (Lewis, 2013)
Cloud standardization initiatives
In the introductory section of this essay there were preliminary questions that were
created in order to better understand the research problem. The first question asked was
“What are the interoperability problems with cloud computing?” Based on the review and
analysis of multiple research documents, the conclusion was that interoperability issues
between clouds consist of:
Vendor lock-in when certain SaaS applications are built to specific, proprietary
platform or infrastructure. (Miranda, Murillo, Guillén, and Canal, 2012; Petcu, 2011;
Lewis, 2013; Raines, 2009; Parameswaran and Chaddha, 2009)
Lack of portability of VMs in order to allow migration VMs between clouds. (Petcu,
2011; Harsh et al., 2012; Loutas, Kamateri, Bosi, and Tarabanis, 2011)
Proprietary cloud API makes integration of cloud services with existing legacy
systems difficult. (Dillon, Wu, and Chang, 2010; Lewis, 2013; Parameswaran and
Chaddha, 2009)
24
Security, privacy and trust are important subjects to ensure that different cloud
providers provide the same level of security. (Dowell et al., 2011; Borenstein and
Blake, 2011; Machado, Hausheer, and Stiller, 2009)
Cloud interoperability standards are developed by members of many not for profit
organizations as well as academia, government and cloud providers.
The second preliminary question in the introductory section asked: “What standards can
be implemented in cloud computing in order to help solve the issues of interoperability.”
Table I summarizes the organizations’ and groups’ involvement in standards creation. The
table contains standards that are evaluated within this essay.
Table I. Summary of groups involved in standard cloud creation.
Organization Standard Name Purpose
Distributed
Management Task
Force (DMTF)
Open
Virtualization
Format (OVF)
Packaging format that is independent to
virtualization platform or hypervisor. It allows
migrating virtual appliances between different
cloud providers’ environments. The standard
optimizes deployment of virtual appliances and
enables portable virtual machine packaging.
Cloud
Infrastructure
Management
Interface –
Common
Information
Enables the definition of entities and data
structure by using object oriented principals.
This model enables the exchange of
management information and targets the
management of resources through IaaS. CIM
attempts to provide support to the Open
25
Model (CIMI-
CIM)
Virtualization Format standard by using a
RESTful management interface for common
IaaS components such as virtual machines,
networks and data stores.
Open Grid Forum
(OGF)
Open Cloud
Computing
Interface (OCCI)
Describes standard management interfaces
within the IaaS cloud service model. It is used to
develop interoperable tools for common tasks
such as monitoring, deployment and scaling.
The specification is compatible with OVF and
CDMI and is extensible to the PaaS and SaaS
service models.
Storage
Networking
Industry
Association
(SNIA)
Cloud Data
Management
Interface (CDMI)
Defines the application interface which creates,
retrieves, updates and deletes data element
operations. It is used to abstract the storage
containers and to allow the data management as
well as the migration process to upload data to
another cloud environment.
26
Cloud standards analysis
Once interoperability problems with cloud computing were identified and understood,
the standards initiatives were then introduced and described. The next preliminary question
asked if the standards could be implemented and could help with interoperability challenges
in all cloud computing service models. In order to answer this question the association
analysis method was used in an effort to find a relationship between dependent variables
(migration of virtual machines, data migration, and workload management) and independent
variables (virtual machine format, migration protocols, management framework). The
establishment of association rules proved useful to evaluate the impact standards had on the
problem of interoperability with the cloud. The proposed standards would help to achieve
interoperability within certain cloud computing service models.
Infrastructure as a Service model – interoperability issues. The IaaS model benefits the
most from standardization initiatives. The reason is that composition of IaaS model includes
workloads that are represented by virtual machines, storage data units as well as networks.
The virtual machine (VM) migration process (dependent variable) is associated with
standard efforts such as Open Virtualization Format (independent variable) that
enables the extract of an image from one provider and to then be able to upload it to
another without a manual process of reinstalling the virtual machine or setting up of
services and programs from the start. (Lewis, 2013)
In order to enable the process of live migration of virtual machines, the issues with
virtualization platform and virtualization manager have to be taken into consideration.
There are different virtualization platform technologies e.g. host operating system,
host architecture as well as hardware-assisted virtualization compatibility e.g. Intel
27
Virtualization Technology versus AMD Virtualization. A virtualization manager that
manages VMs on physical hosts should be able to access and migrate VMs between
different cloud providers. (Z. Zhang et al., 2013)
The data migration process (dependent variable) is associated with a standard such as
Cloud Data Management Interface (CDMI) that enables the users to extract data from
one provider and then to upload it to a different cloud provider. Fig. 3 shows the
cloud storage reference model using Cloud Data Management Interface.
Fig. 3. The cloud storage reference model using CDMI.
(SNIA, 2012)
28
CDMI defines an API to create, retrieve, update, and delete (CRUD) data operations
from the cloud data storage environment. The Representational State Transfer
(REST) interface is considered as architecture and not as protocol. The REST
implementation identifies entities and addresses them via a Universal Resource
Identifier and provides interface as defined in HTTP such as GET, POST, PUT, and
DELETE. The RESTful interface is defined in the CDMI implementation. This
standard is useful for raw data when the cloud resource is used as a container. (Lewis,
2013) The Open Cloud Computing Interface (OCCI) standard also provides support
for storage management. It is compatible with CDMI standards. The OCCI helps with
backup and snapshot operations. The OCCI and CDMI have common RESTful
orientation and both use HTTP as a communication protocol or query service
discovery. (Teckelmann, Reich, and Sulistio, 2011)
Fig. 4 presents the OCCI boundary protocol in the cloud providers’ architecture.
Fig. 4. The OCCI boundary protocol in cloud provider’s architecture.
(Nyren, Edmonds, Papaspyrou, & Metsch, 2011)
29
The service consumer can be the end user and/or other information system. The OCCI
can manage API for all kinds of resources and can provide high level of
interoperability. (Nyren et al., 2011)
The network contains two important topics related to network interoperability
including addressing network and communication application levels between
different cloud providers. The main issue is to have a reliable remote access to
applications even when they move between different subnets. An application level
communication should be designed as a RESTful Application Programming Interface
(API) in order to minimize coupling of the client and server components. The two
major communication protocols that implemented RESTful APIs are HTTP as an
application transport protocol and XMPP which is XML over TCP. (Z. Zhang et al.,
2013)
Table II presents a summary of functionality of the OVF, OCCI, CDMI standards
related to virtual appliance support, storage operation, network use and security subjects such
as authentication, authorization, accounting and encryption.
Table II. Summary of functionalities of OVF, OCCI, CDMI standards.
OVF OCCI CDMI
Virtual appliance
Virtualization manager n/a
Storage backup
Storage replication
Storage snapshots
Network communication n/a
30
Security authentication n/a
Security authorization n/a
Security accounting n/a
Security encryption n/a
- provide functionality; - do not provide functionality
(Teckelmann et al., 2011)
Platform as a Service model – interoperability challenges. The PaaS model provides
“out of the box” functionality including management of user authentication, application
environments and application communications in the form of libraries that are fully
integrated. These capabilities are related to a particular programming language and runtime
environment made available by the cloud provider. The main benefit of the PaaS model is a
rapid application deployment. However vendor lock-in is a major drawback because of a lack
of standardized tools and of selected programming languages available by different cloud
providers. The first steps to enable interoperability within platform as a service model would
be to have the cloud providers standardize the tools; to support the same programming
languages such as Java, Python, PHP or .NET; and, to allow data access interfaces including
Java Database Connectivity (JDBC), Open Database Connectivity (ODBC). The cloud
providers might agree and support the same programming language however the biggest
issues with the interfaces. They might be incompatible with other cloud providers with
specific services such as authentication, data structure, queues and hash tables. Additionally,
the proprietary option may be more powerful and deliver greater benefits over the
standardized features. For example, the default data store of Google App Engine offers
automatic replication of data across data centers. Clients are able to access the data stores
31
using standardized API or low level proprietary API. The standard API allows better
interoperability and portability of the applications between cloud providers however it does
not offer specific control features as does the low level proprietary API. (Lewis, 2013)
Standardization groups are in agreement that it is important for the development of a
common framework enabling different cloud platforms to interoperate. In order to succeed,
two standardization approaches have been proposed: A standardized cloud interface to unite
multiple cloud APIs and a common cloud data model. In addition, multiple researchers agree
that a common management model has to be developed to consistently manage PaaS entities
between different cloud providers. The proposed direction should eliminate the current
vendor lock-in issue and should enable interoperability between different cloud
environments. (Loutas, Kamateri, and Tarabanis, 2011)
Software as a Service model – interoperability problems. The SaaS model provides a
complete software package with email, customer relationship management (CRM), enterprise
resource planning (ERP) and/or accounting instead of an application deployment
environment. The SaaS standardization process is limited as each cloud provider offers
different software or their own processing logic. The integration process in the SaaS model is
possible with the standardization of the data structure and data storage of those applications.
The standardized APIs can help extracting or sharing data among multiple cloud providers.
(Lewis, 2013)
Data portability is an important part of the cloud interoperability process. The ability to
use data components across different applications or cloud providers is a key enabler to the
clouds interoperation. Interoperability challenges in SaaS model exist not only between
different software components implementation but also between identical software
32
deployments in different clouds. The data synchronization process is critical in order to
ensure that an application works in different cloud’s environments. Usually copies of the
same data must be maintained in a consistent state. The high latency communication links
between clouds create a challenge in synchronizing data in a timely manner. In order to
enable the interoperability of applications between the clouds, the communication protocols,
the discovery of components and services, the data management systems and the
management of the common processes have to be implemented and standardized. The
application design framework such as Service-Oriented Architecture (SOA) can improve
application interoperability. (The Open Group, 2013)
Service-Oriented Architecture and cloud computing analysis
The evaluation of Service-Oriented Architecture (SOA) was performed using multiple
research studies. The causal inferencing method was used to analyze the relationship between
cause and effect of SOA on the cloud interoperability.
The SOA framework provides functionality to interconnect the application services with
other applications through standard interfaces and messaging protocols. Service-Oriented
Architecture offers a software development approach that is task specific, reusable and
service oriented. The SOA framework enables functional business components such as the
credit card validation process in order to gain better reusability, flexibility and manageability.
(Mirzaei, 2008)
SOA and cloud computing are different concepts however they complement and support
one another. SOA is an architectural framework that guides business solutions to create
reusable software components as cloud computing provides information systems as a
33
services in order to enable organizations to build their SOA business solutions. (Tsai, Sun,
and Balasooriya, 2010)
The primary features and benefits of using SOA include:
Interoperability of SOA services such as service requester, service provider and
service registry that communicate with each other using synchronous or asynchronous
communication mechanism.
Independent service function that enables grouping of the components in self
contained modules.
Loosely coupled design of services that allow binding of services without knowledge
of the technology.
Transparent location of services that are designed to reflect business processes instead
of location of the services to the clients.
Multiple researchers agree that the SOA framework provides reusable solutions that can be
implemented to help with cloud integration and cooperation challenges. The SOA and cloud
computing complement each other in that the SaaS cloud model provides a service based on
the SOA business framework design. The Service-Oriented Architecture framework is a
blueprint of enterprise information technology architecture whereas cloud computing is a
supplier of the architecture, services to the clients. Cloud computing and SOA allow the
creation and delivery of services to the end users that are robust, cost effective and
performance oriented. (Yang and Zhang, 2012)
Fig. 5 shows conceptual building blocks of the SOA solution and how they relate to
each other.
34
Fig. 5. The SOA Reference Architecture.
(The Open Group, 2013)
Integration of Service-Oriented Architecture with the SaaS model of cloud computing
allows designing software components that are reusable and flexible. In order to integrate
cloud computing services using SOA some of the principals should be followed:
Fine-grained services that can improve the reusability as well as flexibility of
configuration to support business needs.
Location independence of services that enables rapid discovery of the services
whenever the service is needed.
Independent communication of services which allows software components to
exchange information regardless of communication interface or protocol.
35
Independent security of services enabling trust between different components in the
federated security system.
Loosely coupled of the architecture that allows migration of one software instance to
another without affecting the other components. (Yang and Zhang, 2012)
The hypotheses evaluation
The first hypothesis:
After analyzing the association of the OVF standard with the portability of virtual
machines or virtual appliances, the research showed that the implementation of the OVF
format by cloud providers enabled virtual machine portability. The OVF format is vendor
neutral and allows an efficient and flexible packaging. The researchers agreed that OVF
addresses multiple issues of interoperability of virtual machines in cloud computing such as
life cycle, virtualization platform and management.
This research posed and validated a working hypothesis “If Open Virtualization Format helps
achieve portability of the virtual machine then implementation of OVF would solve the
problem of virtual machine migration from one cloud provider to another.”
The study described OVF standard using different sources of information. Multiple research
papers reported similar findings. It is evident that OVF helps to achieve portability of virtual
machines. The hypothesis is proving to be true as major cloud providers have implemented
the OVF standard and users are now able to migrate VMs from one cloud provider to
another.
The second hypothesis:
The process of causal inferencing was used to analyze the effect of the implementation
of the SOA framework on interoperability in the SaaS cloud computing model. The causal
36
effect reasoning indicated that SOA and cloud computing compliment each other and help to
achieve interoperability. However, the research did not conclude the hypothesis “If Service-
Oriented Architecture helps to solve the problem of software as a service interoperability,
then the use of SOA would resolve interoperability problems within SaaS model of cloud
computing” is true as many variables had to be taken into consideration before the SOA
framework could allow for software application interoperability between different clouds.
The main challenges in order to be able to achieve interoperability with clouds using the
SOA framework include:
A guarantee high availability of cloud services,
A rapid and seamless deployment of applications within clouds,
An effective finding of different cloud services, and
A secure isolation security of application components with cloud. (Yang and Zhang,
2012)
37
CHAPTER IV
ISSUES, CHALLENGES AND TRENDS
The biggest problem with addressing cloud interoperability is that there are too many
proposed standards to address the same problems. In order to standardize functions of cloud
computing such as workload, data migration, virtual machine portability, storage, replication,
backup, and snapshot interoperability discussions between cloud providers, user and
standardization working groups have to take place and the initiatives need to be more
responsive.
Issues and challenges with the cloud interoperability
In order to achieve interoperability between different cloud systems, implementation
and support of their standards is required. Although standards can help to attain
interoperability there are some issues in that providers are sometimes reluctant to come to an
agreement on these standards. Some rationale for this lack of interest includes:
a lack of support by cloud providers to not adopt certain standards for their own
commercial gain;
a requirement is needed to identify specific standards requires expertise and
experience in the subject matter;
a need exists for a level of agreement among cloud providers, hardware and
software vendors for the implementation of standards. (The Open Group, 2013)
Cloud providers set up their own proprietary implementation on how the applications, APIs,
data stores, and management interfaces communicate. This situation creates vendor lock-in
and makes the integration of cloud services very difficult. Although various organizations
38
believe that this issue is becoming increasingly more important and that there is a general
feeling that standardization will address interoperability issues, the major cloud providers are
still not treating the lack of interoperability as a high priority. The cloud standardization and
interoperability process will not progress without consensus from the key cloud vendors.
(Dowell et al., 2011)
The challenges of vendor lock-in and other cloud computing interoperability issues are
more complex and more difficult to solve in higher cloud models such as PaaS and SaaS as
seen in fig. 6.
Fig. 6. Increasing interoperability issues in cloud models.
(Z. Zhang et al., 2013)
Providers and industry experts are looking to solve issues within each cloud model at the
same time. However they need to begin by first solving it through the IaaS model as it will
assist cloud platforms to then coexist. Once solved through the IaaS model, they can begin
moving to the higher, more complex levels. The challenge however in IaaS standardization
starts with different hardware and software virtualization solutions. The physical host servers
have different type of processors, hardware accelerators, scheduling mechanisms and
39
resource allocation that might lead to the poor performance. Additionally, data that is
distributed across various locations should be managed efficiently to ensure consistency and
integrity. Also, network latency and data access time is an issue. Cloud providers invented
their own proprietary data management tools and are reluctant to host data in any
environment that they do not control. This illustrates another challenge of trust and security
between different cloud providers.
There are also challenges within the PaaS model including that end users are not always able
to migrate an application deployment because of incompatible Application Programming
Interfaces (APIs) between cloud providers. (Harsh et al., 2012)
Software portability in the cloud versus traditional computing system
In traditional computing systems the interoperability and portability of the applications
is achieved by use of same programming language, source code and a compiler. For example
in the UNIX operating system the programs are written in C programming language. In order
to deploy the applications on different system the recompiling process is necessary. The
operating system serves as a layer that hides physical or virtual hardware from the
application. Lower level programming languages such as C are operating system dependent
however higher level programming language such as Java provides virtual machine, runtime
environment that also hides the operating system from the application. Because the
applications are written in supported programming language and compiled by the same
standard operating system environment, the migration process in traditional computing is
even possible among different hardware systems as shown in fig. 7. (The Open Group, 2013)
40
Fig. 7. Portability of applications in traditional computing system.
(The Open Group, 2013)
The process described and shown above is similar to the cloud computing platform as a
service (PaaS) portability. The applications that run in a cloud computing environment have
similar interoperability challenges as in the traditional system. They include: hardware,
virtualization layer (IaaS interoperability issues), operating system, programming languages
and software libraries (PaaS interoperability issues). In the traditional computing systems as
with cloud computing, the programming language and software libraries are a key to
application portability. Currently, there are two standard libraries that enable application
portability such as Java 2 Platform Enterprise edition (J2EE) and the .NET framework. Java
platform provides server functionality including:
Data storage and retrieval
Data management
Process scheduling
41
Platform to platform communication using Simple Object Access Protocol (SOAP) or
raw Hypertext Transfer Protocol (HTTP).
The .NET software framework runs on a Microsoft Windows operating system and supports
platform functionality similar to J2EE.
The challenges of portability of applications between different clouds platforms (PaaS) reside
similarly as in the traditional systems with software libraries and programming languages.
The clouds providers often implement their own proprietary software libraries and
programming language. The applications that are designed using proprietary technology will
not be able to migrate easily between different clouds. (The Open Group, 2013)
Trends of migration of e-learning platforms into cloud computing
Distance education is an increasingly more popular form of education. E-learning
platforms are constantly improving in effort to deliver the best educational experience as well
as to keep up with the always changing field of information technology. The new direction of
delivering the distance education content is to host e-learning systems in a cloud
environment. Web 2.0 and cloud computing have changed the traditional model for
publishing material into a more collaborative model whereby web applications are reused and
therefore enable social interaction. The benefits of using Web 2.0 technology when
developing e-learning application include:
places the learner at the center of online activities,
allows a user to personalize their learning environment,
enables the learner to create and share content with others, and
provides a more flexible and cost effective e-learning system. (Ouf, Nasr, and
Helmy, 2011)
42
In general, e-learning consists of a course management system (CMS) and an
assessment management system (ASM). E-learning systems are usually based on
client/server architecture and web technology. This particular architecture has some
limitations including a lack of flexibility, scalability and interoperability. An issue arises in
that the learning resource cannot be shared and easily delivered onto different platforms such
as mobile devices, etc. Currently, mobile devices have limited processing power, memory
and screen sizes when compared to desktop computers. And, traditional database servers do
not perform well with the constant growth of databases and the increased load as numerous
users simultaneously access the system. Cloud computing allows data processing to be
performed on the server side and provides a dynamic resource allocation when needed.
(Phankokkruad, 2012)
Cloud computing provides services from which distance education learning objects and
learning processes can benefit. The cloud computing environment and SOA framework are
two key technologies that play an important role in building scalable and reusable
educational learning objects. The idea of reusing existing learning objects allows for new
learning materials, courses to be created efficiently and effectively. (Kalagiakos and
Karampelas, 2011)
Cloud computing enables new opportunities to enhance the process of distance
education. Some potential benefits of cloud computing for the field of education include:
ability for students to work from anywhere and on any device with Internet access,
ability to provide a scalable infrastructure that provides on-demand resource
allocation,
enablement of a large amount of processing power,
43
option to lower costs for academic institutions.
Cloud computing is an environment that provides for and manages applications and data. The
integration of Web 2.0 technology, with cloud computing and SOA framework satisfy the
educational institution requirements for a distance education platform. Cloud computing is
considered as a scalable, flexible environment to host e-learning applications. (Ouf et al.,
2011)
44
CHAPTER V
CONCLUSIONS AND RECOMMENDATIONS
The essay describes interoperability challenges between different cloud providers. The
research analyzes and evaluates multiple standards including OVF, CDMI, OCCI, CIMI-
CIM and the SOA framework that may influence cooperation among different cloud
platforms. The standards are evaluated based on the cloud computing service models. At the
beginning, the study answers some preliminary research questions in order to help
understand the interoperability problems with cloud computing. The examination of various
research articles indicated that cloud interoperability problem impact end users in a way of
vendor lock-in, lack of portability of virtual machines between clouds, difficult integration of
cloud services and no standardized security level. Subsequently, the research analyzes the
effect of Service-Oriented Architecture (SOA) on the interoperability in the cloud computing.
Multiple researches agreed that SOA framework enables applications, services to be shared
and reused across different cloud environments.
Conclusions
The research constructs and evaluates two hypotheses. The first hypothesis “If an Open
Virtualization Format helps to achieve the virtual machine portability then the
implementation of OVF would solve the problem of the virtual machine migration from one
cloud provider to another” is evaluated using association analysis. The association,
relationship analysis between dependent variable (migration of virtual machines) and
independent variables (Open Virtualization Format) indicated that OVF helps achieve
portability of the virtual machines. The hypothesis is tested to be true and major cloud
45
providers currently support the OVF standard format. The second hypothesis “If a Service-
Oriented Architecture helps to solve the problem of software as a service interoperability,
then the use of SOA would resolve the interoperability problems with the SaaS model of
cloud computing” was formulated and evaluated using causal inferencing. Analyzing cause
and effect reasoning of implementation of SOA framework in cloud computing indicated that
SOA helps achieve interoperability. However the research did not definitely conclude that
SOA solves the interoperability problem in the SaaS model as many other variables have to
be taken into consideration.
The research is performed using the meta-analysis method. The various questions
related to interoperability problems within clouds are answered using different research
materials, articles and studies to ensure the information is aligned. The research evaluated the
most popular cloud computing standards including OVF, CDMI, OCCI and CIMI-CIM as
well as verified the idea that the SOA framework can help to accomplish interoperability in
clouds. Different research articles are used to reinforce the authenticity and the validation of
different standards responsible for cloud interoperability. The research shows that agreement
and implementation of the same standards in different cloud environments solves particular
interoperability problems. The study highlights that implementation of the standards help
resolve interoperability challenges between different cloud providers. The research essay can
be used as an overview of the cloud interoperability problems and list possible solutions and
can enable further research and development of the new standards.
46
Recommendations for further research
In order to advance with further research, a simulation should be performed to
determine which standard, application, tool or protocol is the most suitable to minimize
interoperability problems between different cloud environments. For example, simulation
analysis of data migration between different cloud providers using various standards and
migration methods can be tested, analyzed and evaluated. Then the results can be observed,
reviewed and, as a consequence, proper recommendations can be made. Simulation software
can be designed and used to predict behavior and interaction of multiple interoperability
components among clouds such as data migration, workload management or monitoring
tools. Additionally, the survey can be performed in order to gather information from users to
evaluate the proposed interoperability solutions. Finally, conducting interviews with a subset
of participants who responded to the survey would be beneficial. The purpose of the
interview would allow additional questions to be asked in order to enhance knowledge of
client requirements related to cloud interoperability.
The research describes the interoperability challenges between cloud providers and
emphasizes that a standardized approach is necessary in order to allow end users to freely
choose and distribute cloud products and services from one cloud to another. Reaching
industry consensus is not a simple task as cloud providers invent their own proprietary data
management tools, incompatible APIs that are not supported between different cloud
providers. The research describes cloud interoperability challenges and presents possible
standards that can enable the cloud cooperation process. The study intends to initiate further
research and development of the new standards, tools and protocols that can solve and enable
interoperability between different cloud providers.
47
REFERENCES
Alabbadi, M. M. (2011). Cloud Computing for Education and Learning: Education and
Learning as a Service ( ELaaS ). 14th International Conference on Interactive
Collaborative Learning, 589–594. Retrieved from
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6059655
Armbrust, M., Joseph, A. D., Katz, R. H., & Patterson, D. A. (2009). Above the Clouds: A
Berkeley View of Cloud Computing. Science, 53(UCB/EECS-2009-28), 7–13.
doi:10.1145/1721654.1721672
Azeez, A., Perera, S., Gamage, D., Linton, R., Siriwardana, P., Leelaratne, D., … Fremantle,
P. (2010). Multi-tenant SOA Middleware for Cloud Computing. 2010 IEEE 3rd
International Conference on Cloud Computing, 458–465. doi:10.1109/CLOUD.2010.50
Baird, S. (2010). Heterogeneity and interoperability at the core: SOA, virtualization, the
cloud and the government role. Proceedings of the 4th International Conference, (25),
387–388. Retrieved from http://dl.acm.org/citation.cfm?id=1930409
Bhakti, M.A.C.; Nugroho, H.; Bhaskoro, P.T.; Firmansyah; Paputungan, I.V.; Oktiawati, U.
Y. (2012). Taking up autonomous SOA framework into cloud computing. Cloud
Computing and Social Networking (ICCCSN), (2012 International Conference), 26–27.
doi:10.1109/ICCCSN.2012.6215711
Borenstein, N., & Blake, J. (2011). Cloud Computing Standards. IEEE Internet Computing,
15(3), 74–78. doi:10.1109/MIC.2011.58
Dillon, T., Wu, C., & Chang, E. (2010). Cloud Computing: Issues and Challenges. 2010 24th
IEEE International Conference on Advanced Information Networking and Applications,
27–33. doi:10.1109/AINA.2010.187
DMTF-CIMI. (2012). Cloud Infrastructure Management Interface - Common Information
Model ( CIMI-CIM ) A CIM Representation of the CIMI Model. Specification, 1–21.
Retrieved from
http://dmtf.org/sites/default/files/standards/documents/DSP0264_1.0.0.pdf
DMTF-CIMI-RESTful. (2013). Cloud Infrastructure Management Interface ( CIMI ) Model
and RESTful HTTP-based Protocol An Interface for Managing Cloud Infrastructure.
Specification, 1–220. Retrieved from
http://dmtf.org/sites/default/files/standards/documents/DSP0263_1.1.0.pdf
DMTF-OVF. (2013). Open Virtualization Format Specification. Specification, 1–72.
Retrieved from
http://www.dmtf.org/sites/default/files/standards/documents/DSP0243_2.1.0.pdf
48
Dowell, S., Barreto, A., Michael, J., & Shing, M.-T. (2011). Cloud to cloud interoperability.
System of Systems Engineering, 2011 6th International Conference, 258–263.
doi:10.1109/SYSOSE.2011.5966607
El-Refaey, M., & Bhaskar Prasad, R. (2012). Grid, SOA and Cloud Computing: On-Demand
Computing Models. (pp. 45–85). doi:10.4018/978-1-61350-113-9.ch003
Harsh, P., Dudouet, R., Cascella, G., Jegou, Y., & Morin, C. (2012). Using open standards for
interoperability issues, solutions, and challenges facing cloud computing. Service
Management (CNSM), 2012 8th, 435–440. Retrieved from
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6380053
Kalagiakos, P., & Karampelas, P. (2011). Cloud Computing learning. 2011 5th International
Conference on Application of Information and Communication Technologies (AICT), 1–
4. doi:10.1109/ICAICT.2011.6110925
Kretzschmar, M., & Hanigk, S. (2010). Security management interoperability challenges for
Collaborative Clouds. 2010 4th International DMTF Academic Alliance Workshop on
Systems and Virtualization Management, 43–49. doi:10.1109/SVM.2010.5674744
Labes, S., & Repschlager, J. (2012). Standardization approaches within Cloud Computing:
Evaluation of infrastructure as a service architecture. Proceedings of the Federated
Conference on Computer Science and Information Systems, 923–930. Retrieved from
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6354365
Lenk, A., Klems, M., Nimis, J., Tai, S., & Sandholm, T. (2009). What’s inside the Cloud? An
architectural map of the Cloud landscape. 2009 ICSE Workshop on Software
Engineering Challenges of Cloud Computing, 0, 23–31.
doi:10.1109/CLOUD.2009.5071529
Lewis, G. (2013). Role of Standards in Cloud-Computing Interoperability. System Sciences
(HICSS), 2013 46th Hawaii, 1652–1661. doi:10.1109/HICSS.2013.470
Loutas, N., Kamateri, E., Bosi, F., & Tarabanis, K. (2011). Cloud computing interoperability:
the state of play. 2011 Third IEEE International Conference on Coud Computing
Technology and Science Cloud, 752–757. doi:10.1109/CloudCom.2011.116
Loutas, N., Kamateri, E., & Tarabanis, K. (2011). A Semantic Interoperability Framework for
Cloud Platform as a Service. 2011 IEEE Third International Conference on Cloud
Computing Technology and Science, 280–287. doi:10.1109/CloudCom.2011.45
Machado, G. S., Hausheer, D., & Stiller, B. (2009). Considerations on the Interoperability of
and between Cloud Computing Standards, (Section 4), 1–4. Retrieved from
http://www.csg.uzh.ch/publications/ogf27-g2cnet-discussion-cc-standards-
finalversion.pdf
Massimo, C., & Giovanni, A. (2011). Grids, Clouds and Virtualization. Springer.
doi:10.1007/978-0-85729-049-6
49
Mell, P., & Grance, T. (2011). The NIST Definition of Cloud Computing Recommendations
of the National Institute of Standards and Technology. Retrieved from
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Miranda, J., Guillén, J., Murillo, J. M., & Canal, C. (2012). Enough about standardization,
let’s build cloud applications. Proceedings of the WICSA/ECSA 2012 Companion
Volume on - WICSA/ECSA ’12, 74. doi:10.1145/2361999.2362011
Miranda, J., Murillo, J. M., Guillén, J., & Canal, C. (2012). Identifying adaptation needs to
avoid the vendor lock-in effect in the deployment of cloud SBAs. Proceedings of the
2nd International Workshop on Adaptive Services for the Future Internet and 6th
International Workshop on Web APIs and Service Mashups on - WAS4FI-Mashups ’12,
12. doi:10.1145/2377836.2377841
Mirzaei, N. (2008). Cloud Computing, 51(7), 9. Retrieved from
http://grids.ucs.indiana.edu/ptliupages/publications/ReportNarimanMirzaeiJan09.pdf
Nyren, R., Edmonds, A., Papaspyrou, A., & Metsch, T. (2011). Open Cloud Computing
Interface - Core. Retrieved from http://ogf.org/documents/GFD.183.pdf
Oppong, E., & Khaddaj, S. (2012). SOA and Cloud Service Provisioning Framework. 2012
11th International Symposium on Distributed Computing and Applications to Business,
Engineering & Science, 200–204. doi:10.1109/DCABES.2012.104
Ortiz Jr., S. (2011). The Problem with Cloud-Computing Standarization. Technology News -
Published by the IEEE Computer Society, (July), 13–16. Retrieved from
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05958700
Ouf, S., Nasr, M., & Helmy, Y. (2011). An enhanced e-learning ecosystem based on an
integration between cloud computing and Web2. 0. Signal Processing and Information,
48–55. Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5711721
Parameswaran, A. V, & Chaddha, A. (2009). Cloud Interoperability and standardization, 7(7),
19–27. Retrieved from http://www.infosys.com/infosys-labs/publications/infosyslabs-
briefings/Documents/cloud-interoperability-standardization.pdf
Petcu, D. (2011). Portability and interoperability between clouds: challenges and case study,
6994 LNCS(Section 3), 62–74. doi:10.1007/978-3-642-24755-2_6
Phankokkruad, M. (2012). Implement of cloud computing for e-learning system. Computer
& Information Science (ICCIS), 7–11. Retrieved from
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6297204
Raines, G. (2009). Cloud computing and SOA. MITRE Technical Papers, MITRE Corp.,
Massachusetts. Retrieved from http://www.mitre.org/sites/default/files/pdf/09_0743.pdf
Rajkumar, B., James, B., & Goscinski Andrzej. (2011). Cloud Computing Principles and
Paradigms. doi:10.1002/9780470940105.ch24
50
Reddy, N. (2012). A CIM (Common Information Model) Based Management Model for
Clouds. Cloud Computing in Emerging Markets (CCEM). Retrieved from
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6354585
SNIA. (2012). Cloud Data Management Interface (CDMI) v1. 0.2. Technical Position, 1–
224. Retrieved from http://snia.org/sites/default/files/CDMI v1.0.2.pdf
Somasundaram, T. S., Govindarajan, K., Rajagopalan, M. ., & Rao, S. M. (2012). An
architectural framework to solve the interoperability issue between private clouds using
semantic technology. 2012 International Conference on Recent Trends in Information
Technology, 162–167. doi:10.1109/ICRTIT.2012.6206764
Teckelmann, R., Reich, C., & Sulistio, A. (2011). Mapping of Cloud Standards to the
Taxonomy of Interoperability in IaaS. 2011 IEEE Third International Conference on
Cloud Computing Technology and Science, 522–526. doi:10.1109/CloudCom.2011.78
The Open Group. (2013). Cloud Computing Portability and Interoperability. Retrieved from
https://www2.opengroup.org/ogsys/catalog/G135
Torkashvan, M., & Haghighi, H. (2012). A service oriented framework for cloud computing.
In Proceedings of the 3rd International Conference on Information and Communication
Systems (ICICS ’12). doi:10.1145/2222444.2222469
Tsai, W.-T., Sun, X., & Balasooriya, J. (2010). Service-Oriented Cloud Computing
Architecture. 2010 Seventh International Conference on Information Technology: New
Generations, 684–689. doi:10.1109/ITNG.2010.214
Yang, X., & Zhang, H. (2012). Cloud Computing and SOA Convergence Research. 2012
Fifth International Symposium on Computational Intelligence and Design, (2), 330–335.
doi:10.1109/ISCID.2012.90
Zhang, Z., Wu, C., & Cheung, D. (2013). A survey on cloud interoperability: taxonomies,
standards, and practice. ACM SIGMETRICS Performance, 40(4), 13–22.
doi:10.1145/2479942.2479945