Addressing Semantics Standards for Cloud Portability and Interoperability in Multi Cloud Environment

: The increasing demand for cloud computing has shifted business toward a huge demand for cloud services, which offer platform, software, and infrastructure for the day-to-day use of cloud consumers. Numerous new cloud service providers have been introduced to the market with unique features that assist service developers collaborate and migrate services among multiple cloud service providers to address the varying requirements of cloud consumers. Many interfaces and proprietary application programming interfaces (API) are available for migration and collaboration services among cloud providers, but lack standardization efforts. The target of the research work was to summarize the issues involved in semantic cloud portability and interoperability in the multi-cloud environment and define the standardization effort imminently needed for migrating and collaborating services in the multi-cloud environment


Introduction
Cloud computing technology has been seriously accepted by organizations and numerous companies because of its widespread technology [1].It generally aims to provide a computing paradigm.The objective of cloud computing is to distribute or extend access to a scalable infrastructure of software or virtualized hardware on the Internet [2][3][4].
Cloud computing is defined, according to the National Institute of Standards and Technology (NIST) [5], as a model for convenient, ubiquitous, on-demand network access to a shared pool of configurable computing resources such as servers, storage, application networks, and services that can be provisioned and released with minimal management effort or service provider interaction.The purpose of the cloud and the nature of the cloud location are defined by deployment models.Public cloud, private cloud, community cloud, and hybrid cloud are the four models of deployment.The platform as a service (PaaS), infrastructure as a service (IaaS), and software as a service (SaaS) are three kinds of cloud computing service models offered by the NIST cloud computing architecture [6] and can be generated.The major actors of NIST cloud reference architecture include the cloud consumer, provider, and broker.An organization or an individual can be a cloud consumer concerned with a business connection with a cloud provider and consumes their services.Monitoring and observing the usage such as the process, delivery of cloud services, managing, and handling the connection between cloud consumers and providers are the responsibility of the cloud broker [7].An individual or organization offering services to clients is defined as the cloud provider.
A standout amongst the most critical boundaries of distributed computing reception is interoperability and conveyability at the platform as a service (PaaS) layer.Cloud in-teroperability is the measure to access the cloud resources of any cloud provider, and the cloud provider may interact with the resources of other cloud providers and insinuate a circumstance in which various interfacing segments can trade specific data and execute, depending on the data on a lot of agreed useful semantics [8] Portability is the capacity of exchanging workloads and information between cloud providers [9] when applications cannot be ported crosswise over heterogeneous PaaS stages, where the provider lock-in is probably going to happen.Vendor lock-in may happen at the application level, in which cases relocating an application require application adjustments at the information level, whereby the information cannot be exchanged on the grounds that each cloud supplier has its own information design.
NIST characterizes platform as a service to manage cloud infrastructure.After the provider initializes the hardware resources, they permit the client to create, run, and oversee web applications by making use of programming languages, libraries, administrations, and devices, ordinarily bolstered by the PaaS provider.Some of the PaaS providers are IBM Bluemix, Redhat OpenShift, Pivotal Cloud, Cloud Foundry, Microsoft Azure, and Google App Engine.To send and oversee requests on the PaaS cloud, each PaaS provider utilizes its own exclusive API.There is no standard API to have or oversee requests between various PaaS providers, which has prompted an absence of institutionalization endeavors.
As per Hoff [10], there are three different ways to investigate the interoperability and portability of the cloud provider by utilizing cloud broker, semantics, and proprietary API.In the accompanying segment, we present different methodologies to achieve the interoperability and portability by utilizing hardware resources, the need of semantics, and utilizing exclusive API is discussed in the next section.Finally, the study highlights the standardization efforts needed for generic API in a multi-cloud environment through service semantics, which highlights the future research ventures of this work.

Service Brokering Framework
The European Commission [11] has launched the Multidisciplinary drifting Observatory for the Study of Arctic Climate (MOSAIC) [12] project.The main purpose of this project is to build a connection between cloud services and their applications as well as link them with each other in an open source platform, with the belief that in future, this can drive out more competition between the cloud providers.This platform will authorize applications to obtain the service needs of the user's requirements, which will lead to the proposed requirements or modifications to the platform by a constant API.Then, the platform dispatches the information of the services that are compatible with the users' demands and requirements.Two critical sections inclusive of the resource broker and application executor are applied along with the multi-agent brokering mechanism [13].The tasks in resource broking are booking and resource negotiation.
Cloud agency and client interface are the two sub-systems forming the resource broker.Justifying application specifications and creating service-level agreements (SLAs) are the two main tasks of the cloud agency.SLAs are created using tools such as a monitor, service registry, a service mediator, client semantic engine, a negotiator, quality of service (QoS) limits, and cloud ontology.An illustration of the service broker and interaction between the cloud provider and consumer are represented in Figure 1 with the SLA, service monitoring framework, QoS, semantic engine, and cloud ontology.The activity of the utilization agent [14] is to run applications in concurrence with an exceptional programming interface execution engine helps clients to gain API, which endows the clients to move on to the virtual group and physical assets [15].Virtual resources are measured services that enable the provider to lease the resource need by the service client through an explicit connector whose action is to make a steady interface with the cloud resource, which are explicitly specified in the service level agreement (SLA) [16].In the long run, the resource administrator's activity is to monitor and ensure the availability of cloud resources.It executes the elements of the SLA, monitor the cloud resource, and handles solicitations of the elasticity need of cloud resources.Semantic business processes based on software as a service and cloud computing (SITIO) [17] centers around the making of a framework that will guarantee the entrance of intermediaries to the business through cloud computing services with a base expense.Analyzing this, a stage will be produced that can accomplish solid, secure, and gainful interoperability between unknown applications.Four essential components are found by SITIO: the User Interface (UI), process administrations, business administrations, and meta-data administrations.The UI permits distinctive clients to get to the SITIO stage and to utilize and deal with their records and applications.Programming designers and infrastructure providers check the interface to deploy their applications; finally, clients can find the cloud server and buy the necessary cloud resources to deploy the application.The procedure and business administration layers provide the capacity to run discretionary, web benefits in the distributed computing stage.At this end, appropriation, stack adjusting, and information perseverance administrations are added to a given application in a straightforward manner.In any case, to guarantee this usefulness, a few limitations on the administrations that keep running over the stage must be forced (e.g., determining the programming dialect where the application ought to be based on the dispersion of an application).The annotators of the administrations are the web benefit designers since they completely appreciate the techniques for the administrations created [18].
A semantic cloud broker framework for the automated composition of cloud services by representing the service description and discovery process can be undertaken through the ontology to enable proper service discovery at runtime [19].The paper concentrated on the discovery of cloud service at runtime through a cloud broker, but provided only an abstract view of this approach.The concrete part such as service negotiation and service composition are planned as future work.The author addresses the IaaS layer of cloud stack and demonstrates this using the Amazon EC2 object and data properties.The extended work will concentrate on PaaS service description and discovery.CloudSME Simulation Platform is an architecture proposed by Taylor, S. J. et al. [20] that uses a cloud broker platform to enable the capabilities of a multi cloud environment and combines with workflow development and the management of Web Service open-source science gateway framework WS-PGRADE/gUSE.Different cloud provider resources are commercialized using the PaaS API of the cloud broker platform.Cloud brokers include IaaS providers such OpenStack, OpenNebula, Amazon, CloudSigma, and various other High Performance Computing HPC [21] resources.Cloud Small and Medium Enterprises SMEs address interoperability and portability at the infrastructure level by representing the physical layer of the cloud environment through resource managers, resource abstractions, and physical resources in Cloud-Ontology.The semantic engine of Cloud-Ontology helps in decision-making processes for the effective management of physical resources.
Bassiliades et al. [22] proposed an PaaSport Cloud broker or marketplace for representing semantic interoperable PaaSport ontology, which in turn represents the characteristics, attributes, and capabilities of the PaaS service, semantic information about the cloud platform in which the application is to be deployed, and SLAs between the cloud service provider and application developer (cloud consumer).Responsibilities of the cloud broker are to match the requirements of the cloud consumer with a provider through a semantic matchmaking engine and provide the best matched service to cloud consumers through the ranking algorithm.All semantic information are accessed through SPARQL queries from semantic repositories.
Quadir et al. [23] proposed an approach based on the consumer requirements where the cloud services can be chosen through a central registry, which acts as the database to store all the information of the existing cloud services.Semantic technology or semantic service representation is not used in service discovery, but Web Service Description Language (WSDL) and Resource Description Framework (RDF) are used for service description with input machine learning techniques applied for implementing the service discovery process by the service broker.
Petcu et al. [24] proposed a semantic framework for the brokering of service by matching the service requirement with the semantics for enabling the interoperability of the cloud service.Semantics can also be used to port the application by aligning and reconciling different APIs and resources, which enables strong support for code portability.mOSAIC [25] also addresses the above requirement from its mapping system, semantic engine, and dynamic discovery.The mOSAIC project [26] used the concept of cloud patterns and formed a research group in the Department of Industrial and Information Engineering at the Second University of Naples to enable the orchestration of cloud services that promote interoperability and portability of the cloud.The mOSAIC project derives a set of inference rules from the semantics of cloud services, resources used, cloud pattern, and orchestration to promote the discovery of services from the provider independently by enabling automated service discovery [27].
Di Martino et al. [28,29] stated that by using domain ontology description, standardization efforts can be derived from a non-uniform representation of services.This enables the semantic matching of the service, which will result in efficient service retrieval techniques by matching the semantic description offered by the PaaS providers.Using an agent to represent the semantic services by the service-provider and service-requestor can promote an automated retrieval of essential services.The survey likewise observed that the principled meaning of PaaS administrations is a crucial prerequisite for accomplishing the administration of interoperability among heterogeneous PaaSs to encourage benefit service discovery and composition.This can be accomplished through the specific service instances based on domain ontology formulated for PaaS services.
Alkalbani et al. [30] proposed two models for the cloud service discovery process which includes harvesting as a service (HaaS) and the service vault model.Centralized repository and web ontology language are used by service vault model for an efficient and effective cloud discovery process.Cloud service descriptions, which are available in different formats, are extracted through the Harvester module by extracting cloud service data from structured web portals through crawling the real time data of cloud service information.
Bouzerzour et al. [31] finalized a cloud broker, model based solution and semantic technologies to focus on achieving interoperability based on service client.Interoperability based on the service provider depends on standardized API, middleware, and protocols for solutions.Table 1 summarizes the efforts of service brokering, but with a lack of standardization effort for the seamless migration of data between cloud providers, this must be ensured with proper SLA management for interoperable services.The service provider has not fully accepted the standards to deploy applications to the cloud.The heterogeneity of cloud service description language is the major concern that requires standardization.To resolve provider lock-in, a generic model for interoperable cloud service and service description has to be implemented in the future.

Semantic Interoperable and Portable Needs of Cloud Services
Even though cloud computing has its advantages, it fails in a unique semantic approach.Fensel [32] says that the term ontology is closely associated with the semantic structure, meaning "theory of existence".The knowledge-sharing framework supporting the representation, sharing, and the subsequent reusability of field knowledge is the major contribution of this semantic structure.Information retrieval, knowledge management, semantic web, semantic search, information integration, and recommendation systems make use of ontologies [33].

Need for Semantic Cloud Ontology
Web Ontology Dialectal, which is relayed in W3C standard Web Ontology Language (OWL) and depicts the organization of semantics, will be utilized to make the ontology for the proposed structure.OWL-S has the twofold limit of familiarizing ontology with depicting the ideas of service space and conventional ideas to portray the service themselves and the manner in which they identify with the area ontology by means of input, output, precondition, and effects.The expressive semantics of this ontology for services enables semantically rich descriptions facilitating automated machine reasoning over services and domain descriptions, enabling intelligent discovery, invocation, and composition of services.Ontology has three primary classes including a service class.

•
Profile: This describes the role of the service via functional properties of hasOutput, hasInput, hasPrecondition, hasParameter, and hasResult with the assistance of non-functional attributes like service Name, service Category, text Description, etc., which helps in promoting the service and enables automatic discovery of services.

•
Process: This can either be atomic or composite making to know how the service works at the background, which provides in-depth analysis of the services to the service agent for enabling the composition of services.

•
Grounding: This provides the implementation details of services such as port numbers, communication protocols, message form, etc. through which services can be invoked from any other services.The abstract semantic description of services through service profile and the process will be mapped into actual service by implementing them using service API by using any of the ontology tools such as protégé [34], WebVOwl, Graphical Online editor, etc. Services such as profile, process, and grounding jointly support an agent's service usage.
Semantic information of a cloud service should be inferred correctly to enable an application, so that it can be invoked from a cloud provider to another cloud provider, which promotes interoperability and portability by supporting inter-cloud operation [35].If the application is under a particular cloud domain, it facilitates the re-engineering of an existing application using semantic information.The semantic information [36] of cloud service includes the physical resource used, library and background services, service-level agreement (SLAs) made between the service consumer and provider, and the non-functional parameter related cloud key performance indicators (KPIs), and the actual service description using services profile, process, and grounding.Many research works now use semantic technologies for representing the cloud domain, which enables generalization of the cloud concept using OWL (Web Ontology Language) by giving birth to cloud ontologies.

Interoperable and Portable Frameworks for Cloud Service Providers
There are various interoperable and portable frameworks for cloud service providers.N. Loutas et al. [37] proposed a platform as a service semantic interoperability framework (PSIF) that defined the semantics of PaaS application using three dimensions such as fundamental PaaS entities and types and levels of semantic conflicts.Fundamental PaaS entities include the system, offering, management interface, IaaS, and software components of the PaaS application.Type of semantics includes the functional, non-functional.and execution environment of the PaaS application.Level of semantic conflict includes the data and information models of a PaaS application.PSIF resolves the conflicts that occur while deploying the application to cloud by defining the three dimensions such as entities, semantics, and conflicts.The conflicts are resolved by adding a semantic interoperability layer with PaaS architecture, which would enable a common linking between heterogeneous clouds.
Arora Pankaj et al. [38] proposed an Inter Cloud Topology, which enables interoperability transaction between two cloud services by enabling a cloud instance to communicate with another cloud instance by exchanging the needed information as a precursor to the transaction.Semantics information of cloud services are stored in a resources description framework (RDF) and for semantic information exchange, Extensible Messaging and Presence Protocol XMPP is used as an inter-cloud protocol.Androcec et al. [39] proposed a unique PaaS API ontology.The PaaS API ontology was developed using Web Ontology Language (OWL), which includes several classes and associated operation related to resources of PaaS API, therefore enabling a proper understanding about cloud services provided by cloud providers.The initiative discussed above of PaaS APIs failed to explore differences in service descriptions, which are the level of PaaS semantic interoperability.
Cloud4SOA [40], as an EC-funded project, represents the interconnection or composition of heterogeneous PaaS services using semantics information for addressing issues of semantic interoperability in cloud infrastructures.Cloud4SOA combines three dimensions: cloud computing, semantics, and service-oriented architecture (SOA), and it is an open source project that has a time overhead compared to Cloud Foundry to enable semantic interoperability between different PaaS platforms.Zeginis et al. [41] proposed an implementation framework of Cloud4SOA by deploying, managing, monitoring, and migrating applications across private and public heterogeneous PaaS platforms.Cloud4SOA discovers the best PaaS services needed for application developers among equivalent PaaS services using a matchmaking algorithm by extracting the semantic description of application profiles and offering PaaS cloud services for computing the degree of similarities.
Baqa et al. [42] clearly explained the need for semantic interoperability and used an ontology recommendation framework for semantic interoperability standards such as ontology driven interoperability, setting up of an ontology practitioner, and establishing ontology standards including domain and general ontology.Established ontology has been evaluated using syntactic, semantic based validation, and evolution based validation.After evaluation, the ontology was published for interoperable cloud services.
Kaur T et al. [43] developed two models such as the semantic based approach and TensorFlow for addressing application portability and interoperability.The semantic based approach uses WSDL for parameter level and operational level, and OWL representation for service level and infrastructure level to find a particular cloud service provider.TensorFlow is used for statistical computation to obtain the service request from the cloud service provider, which trains the TensorFlow and checks whether the job is portable, then ports the job if yes; else the service goes to the high end services that provide services to the end user.
Table 2 summarizes the various efforts carried out in an interoperable and portable framework.Many research activities have used semantic technology for representing cloud resources, but up to now, there is no common or uniform approach to representing semantic cloud services and resources, enabling users to make use of a common and familiar interface to interact with them.

Migration and Composition of Cloud Service in a Multi-Cloud Environment
The main goal of cloud computing is to migrate a legacy application into any of the PaaS clouds.One of the major legacy applications is the banking sector.REuse and Migration of Legacy Applications to Interoperable Cloud Services (REMICS) [44] uses a reverse engineering concept such as extracting Unified Modeling Language(UML) models from a legacy application and converts the UML model to a SOA (service oriented ar-chitecture) model that wraps the legacy application to the cloud through the use of web services and adapts a model-driven approach [45].A novel approach for the migration of legacy software on the Cloud (ARTIST) [46] performs the migration of SME business legacy applications to the cloud for the modernization of the business model by reusing some of the REMICS concepts.The semantic information of the two projects for the migration of legacy cloud applications involves identifying the behavioral specification for managing software evolution have been proposed by Langer et al.Common features of REMICS and PaaSport migration of cloud where REMICS uses a model-driven approach and PaaSport is semantic brokering architecture, while for service failure and recovery, REMICS uses replacement for the migration of service, but PaaSport uses a recommendation framework that provides the best matched PaaS offering from the marketplace.Semantic information of REMICS deals with behavioral aspects that are obtained from UML models whereas PaaSport uses the computing semantic information of applications such as the platform in which it is executed, the physical resource it has used, the key performance indicator of the service, and functional parameters including programming environment, database service, and various platform services, library, and API.Using this information can provide the best matched PaaS offering from the marketplace.
Like REMICS, MODAClouds [47] is also a modern driven engineering approach that works based on a decision support system.The decision of a support system provides multiple providers to satisfy the requirement of the PaaS offering for migration services and MODAClouds decides the best PaaS offering, which is similar to PaaSport.The objective MODAClouds is to deploy the application to the cloud using a multi-cloud provider through a semi-automated code by hiding the proprietary API.Additionally, it has developed a unified PaaS API, which allows developers to deploy and migrate business applications seamlessly without any constraints of PaaS offerings.The dynamic environment and complex characteristics of the cloud PaaS marketplace have been addressed using a unified service agreement model through semantically interconnected marketplace infrastructures.The PaaS marketplace infrastructure was integrated into a unified semantic model [50] through a persistence layer.The objectives of PaaSport are the discovery of PaaS services, designing a user-centric front end, delivering a set of PaaS marketplace utilities, and providing the best-PaaS offering through the recommendation algorithm.The capabilities of PaaS offerings are represented using the characteristics and attributes in a unified semantic model through OWL ontology.
Di Martino, B et al. [51] proposed a semantic technique for cloud composition, which uses the base of the mOSAic Fp7 Project and application deployment for cloud platforms through the cloud patterns of Microsoft Azure, Open Stack, IBM Bluemix, Google App Engine, and Amazon Web services, which describes the environment and application design of cloud computing.Semantic techniques use a distributed batch K-means algorithm with the semantic approach of cloud patterns, cloud services, and virtual appliances, which only supports the semantic composition of the multi-cloud application us-ing pattern workflow and does not support the portability of the application from one cloud to another cloud.
The PaaSport ontology extends the DOLCE+DnS Ultralite (DUL) ontology [52] to specify the characteristics and attributes of the PaaS offering through the extendable OWL class.The cloud marketplace infrastructure defines the requirements of business application using a SLA (service level agreement) between the cloud consumer and provider.The persistence layer of the cloud marketplace is implemented using a relational database that does not affect the extensibility of the OWL class.The relational database of the cloud marketplace has been defined to easily extend, even if the semantic model grows, there is no need to change the table.It will only add a newer table since it has been added as a subclass.Since the characteristics and parameters of PaaS offerings are agnostic, they are represented as the semantic class and object for providing the best matching cloud PaaS offering through semantic matchmaking [53] and ranking algorithm for application developers.The PaaS ontology semantically represents the characteristics and attributes of the capability of the PaaS offering while migrating an application from one cloud to another cloud.Other cloud capabilities are obtained from the cloud broker and service level agreements made between the marketplace provider and application owner.The marketplace provider obtains all the semantic information from the repository and processes it using SPARQL queries by providing the best-matched cloud PaaS provider using a ranking based recommendation algorithm to the application developer.
Carrasco et al. [54] proposed two standards such as Cloud Application Management for Platform (CAMP) [55] and Topology and Orchestration Specification for Cloud Application (TOSCA) [56] for the management of PaaS and IaaS services.Due to diversity in services offered by the service provider, varying the QoS requirements that are represented using SLAs make interoperability and portability more complex, which result in provider lock-in.In order to address the issue, they proposed a unified API for PaaS and IaaS services for multi-cloud cross cloud application management.Services offered by the PaaS and IaaS cloud are unified under a common interface through TOSCA and CAMP.The topology of the cloud application has been described in a portable way using the TOSCA standard by the elicitation of agnostic cloud resources in an independent manner.The provider centric information are abstracted so only the target location is provided to the client based on the CAMP standard, so any need to port the application to another cloud requires only a change in target location.
Table 3 summarizes the various efforts carried out in the migration and composition of cloud services.The migration of legacy applications to the cloud needs a more generic approach and standard, which should be accepted by all cloud services providers and enables the interoperability and portability in a multi-cloud environment.

Using Proprietary Application Programming Interface (API)
The PaaS application programming interface (APIs) acts as a mediator for deploying and migrating applications across multiple cloud providers such IBM Bluemix, Pivotal CF, Redhat Open Stacks, etc.Each provider maintains an API through which application services can be started, stopped, deployed, and deleted, so many kinds of API are called proprietary API.API, which can be used to perform a PaaS operation across multiple platforms such as one drive or multi-cloud, enables all cloud storage at a single point access and one kind of API is called the cross-platform API.The API acts as an agent for performing the PaaS operation across the platform, which enables the interoperability and porting of the application across the multi-cloud environment [57].Interoperability of cloud services has been enhanced through cross-platform API by enabling the information exchange and communication between a shared interface.Some of the cross-platform interfaces are JCloud, Delta Cloud, OpenNebula, and libcloud.
The main idea of the Unified Cloud Interface (UCI)1 project is to create a unified interface that will have access to all the proprietary cloud API.Cross-platform API interacts with all other cloud providers, which leads to a unified cloud interface.Similar PaaS services offering information conflicts can be avoided by using an ontology (OWL) [58].UCI describes physical resources and PaaS offering details using semantic information to avoid semantic conflicts between cloud-based API and existing standards and protocols.The illustration of the unified application programming interface and interaction between the cloud provider and consumer are represented in Figure 2   Petcu et al. [59] proposed an open-source API work on multiple PaaS platforms, which helps developers to implement portable applications in such a way that the ap-plication is written once and deployed anywhere.Paraiso et al. [60,61] proposed the so cloud PaaS solution, which aims to satisfy application portability and ensure high availability across multiple clouds and is based on the service component architecture (SCA) standard.soCloud uses the APIs offered by the SCA standard to deal with application portability.However, it can deploy and execute only the service-oriented applications, which are a constraint when using the soCloud solution.PaaS Manager's logical architecture and integrating modules support the defined operational processes [62].The PaaS Manager architecture has a modular design that allows the entire system to remain fully operational, even if some vendor or monitoring API is not operating correctly.Consequently, each API is implemented by distinct modules and managed by single entities.Finally, a REST interface exposes the specified operations to be invoked by any HTTP client application.
To migrate the PaaS application and also seamlessly interoperate between clouds, using a generic API called the Compatible One Application and Platform Service API (COAPS) [63] helps to deploy and manage their application in two PaaS platforms, namely CF and OS [64].The PaaS application description model (PADM) has been used to describe PaaS application resources such as runtime, framework, and services of software component along with specific PaaS properties, which are based on the Open Cloud Computing Interface (OCCI) standard.ServiceSs (Service Superscalar) [65] is an interoperable programming framework which helps the programmer to interoperate cloud application without using a specific API with the sequential programming model.The sequential programming model will implement sequential applications that can be executed in parallel on the cloud using a scaling factor.Without adopting the application code, the implemented applications can run on different PaaS platforms.
COAPS deployment API has been implemented [66] to include the GAE (Google App Engine), along with CF (Cloud Foundry) and OS (Open Shift) PaaS platforms that use the same application packaging, deploying the same application to different PaaS offerings.It provides a generic API for the packing and deployment of the same application to different cloud providers at the same time, which enables the porting of the legacy application or generic application to a multi-cloud environment.STAGER [67] is a framework for SemanTic-based GenERation of Generic-API Adapters.Upgrade of a PaaS provider needs to update the PaaS provider API, which in turn needs synchronization on a generic PaaS API that leads to the synchronization problem.The STAGER framework provides a semantic generic API for PaaS services for addressing synchronization issues.The author implemented the semantic generic API on Azure and GAE with blob storage and NOSQL datastore services.STAGER has also addressed data portability between GAE and Azure PaaS platforms.
OCCI is an open standard for the efficient management and access of cloud resources by the RESTful API and defines cloud resources through a generic extensible model.The model driven OCCIware approach [68] is composed of OCCIware Studio and OCCIware runtime.The OCCIware approach has to clearly specify the core model that can specify any cloud resources such as IaaS, PaaS, and SaaS and generates a cloud domain model for each domain and maps each domain to a designer.Each designer has mapped OCCIware runtime in five active implementations such as ACCORDS, erocci, OCCI4Java, pyOCNI, and pySSF.TOSCA Studio [69] uses API based implementation for managing cloud applications through TOSCA topology and OCCIware framework.The OCCIware approach and TOSCA standard were encoded as a topology for modeling and deploying cloud applications through the model-driven tool TOSCA Studio.It depends on Ecore and OCL for defining static semantics through the TOSCA Extension, which metamodels with the OCCI Metamodel.Using the Eclipse plug-in, TOSCO can be implemented with the help of TOSCA Designer for preparing, designing, and validating cloud applications.The deploying and management of applications has been taken care of by the OCCI Orchestrator.
From Table 4, it is clear that there is no proprietary API that satisfies all three types.There is no standard or single generic API adapted by all service providers to deploy applications to the cloud, which has led to fruitful research in the creation of semantic generic open source API and should be adopted by all kinds of service providers.

Standard for Cloud Interoperability and Portability
Studies have collected existing standards and proposals to determine the specific cloud issues that they can solve or define as to how such standards can be used to build a cloud infrastructure.Currently, no standard has yet been accepted worldwide to definitively solve interoperability and portability issues.Instead, different efforts have been made toward the definition of such a standard, addressing the problem from different points of view.A cloud advisory group has been formed by the Cloud Standards Customer Council (CSCC) for the faster adoption of cloud computing and to address the key performance index through standards by addressing the wavering requirements such as the security, interoperability, and portability issues of the cloud.In virtual machines, Open Virtualization format (OVF) has been used as a packaging standard to address deployment and portability issues at the IaaS service level achieved by the Distributed Management Task Force.To perform CRUD operation on a storage cloud, a functional interface has been designed by the Storage Networking Industry Association (SNIA) through Cloud Data Management Interface (CDMI).Cloud auditing standards developed by the Distributed Management Task Force Access management functionality standard are enabled through LDAP, OAuth, OpenID Connect, and SAML.The cloud computing interoperability and portability ISO standard has been defined by ISO/IEC 9947.Packaging and runtime specification of the container image has been specified by the Open Container Initiative Image Specification and Open Container Initiative Runtime Specification.Deployment and management of docker or OCI container images have been defined using the Kubernetes container management platform.
For interoperability of the PaaS cloud, Topology and Orchestration Specification for Cloud Applications (TOSCA) and Cloud Application Management for Platforms (CAMP) are two main OASIS3 standardization efforts in progress.TOSCA (2013) tries to enhance the portability framework of cloud application and services.CAMP (Carlson et al., 2012) aims at defining the interoperability standard of managing applications in PaaS environments.A topology description of cloud-based services has been provided using a standard language for defining the operational concepts of services such as start, stop, deploy, and scaling of cloud services and the relationship of services and components of PaaS applications represented using a topology by TOSCA.The topology of TOSCA includes a meta-model for the construction and management of services.PaaSport, offering an application semantic model, is used as a TOSCA notion of software dependencies between application requirements and service capabilities.The CAMP approach uses the semantics of PaaSport through CAMP-OWL, which includes the meta-model, artifacts for controlling PaaS operation, monitoring, administration, and integration of the application available in the cloud.The aims of the PaaS cloud is to define the meta-model, the artifacts, and APIs that need to be offered for building, running, monitoring, and patching applications in the cloud [70].
Amazon Web Services (AWS) is the world leader of IaaS services for providing data storage and data warehousing.It acts as a the de facto standard for the public cloud with all other cloud APIs in the IaaS offering.AWS has been widely accepted and has proven its standard by scaling up the resource at peak time, which is nothing but resource elasticity of the cloud.In such cases, a huge number of resources should scale up and after the sale end, the resource should be scaled down.This has been tested under AWS services, which have proven its capabilities.The counterpart of AWS is provided through an open source version of IaaS offerings such as Open Stack and Open Shift.
Since Open Stack is open source, many organizations use it to set up a cloud environment within an organization under the free license of the Apache Software Foundation because of which it has received much support from large IT companies including IBM, Red Hat, and Rackspace.For the above reason, it has been defined as the de facto standard for IaaS offerings.In the PaaS world, some of the major players including Microsoft Azure, VMware, Redhat Open shift, IBM Bluemix, Google App Engine, and Pivotal Web Services are now widely adopted.De facto standards for PaaS offerings at the API level that have received noteworthy attention are Redhat OpenShift and VMWare Cloud Foundry.
Adding semantics to PaaS cloud services can lead to the standardization of interoperable and portable cloud services.Interoperability can be achieved by representing cloud services through the semantics of the service profile, service grounding, and service model of cloud ontology.Semantic information can be used to invoke other cloud services easily by comparing the semantics of the cloud provider and cloud consumers.The cloud broker provides the best-matched service of service providers to service the client.Portability at the PaaS layer is an important constraint where some of the proprietary PaaS providers will never share the working model, which has to be represented in semantics for port applications from one cloud provider to another cloud provider.The comparison of various research works with the semantics of interoperability and portability of cloud services is summarized in Table 5.It is clear from Table 5 that adding semantics to the migration effort can lead to fruitful research on cloud portability, along with existing semantics on cloud interoperability, and realize interoperable and portable cloud services in the multi-cloud environment.It also clear from Table 5 that the migration and semantics of interoperability and portability are not achieved together, which pave the way for innovation.Adding semantics in the migration effort will lead to fruitful research work.In the future, we have planned to add semantics for the COAPS API, the creation of domain ontology for each proprietary API, migrate cloud application between different cloud provider to avoid the vendor lock-in problem, and interoperate seamlessly in a multi-cloud environment.

Conclusions
An extensive survey on the portability and interoperability of services at the service broker level, semantic level, and API level have been presented for migrating and collaborating services, which will enable greater research opportunities for technical innovation efforts among multi-cloud environments, in particular at the SaaS and PaaS levels.The adoption of cloud computing will be increased through standardization.The standardization effort has led to common data model supports and provides a mechanism for improving the portability and interoperability aspect of cloud computing.Users will have a wide range of choices in cloud, and organizations can use their own existing data center resources seamlessly.Standardization also allows the users to choose and use services provided by numerous different cloud vendors based on various criteria.It also benefits the vendor by providing additional higher-level services apart from normal cloud services that are needed by the user.Thus, standardization will open the way toward realizing the true potential and benefits of cloud computing.
Future work will concentrate on the standardization of unified API through service semantics, which will drive the pace of innovation by building cloud computing on open source standards.Open source and open standards make it easy for designers and developers to share knowledge quickly, and this knowledge is the key to lowering operating costs when designing, programming, and implementing a cloud application system in a multi-cloud environment, thereby enabling interoperability and portability of cloud services at a lower cost.
MODAClouds and PaaSport both use recommendation services for the best matched PaaS offering.As identified by Lund et al., MODAClouds uses a risk-based assessment for offering multi-cloud PaaS services, but PaaSport uses a multi-criteria approach as defined by Gupta et al.The stakeholders of MODAClouds are the cloud application developer and administrator while the stakeholders of PaaSport are the PaaS providers and software development engineers.MODACloud does not use any semantic information at all, but it makes use of multiple vendors for different services and PaaSport uses a single vendor approach.Earlier VISION and Contrails are similar projects to PaaSport for addressing the vendor lock-in problem, but provides only abstract cloud management and does not provide any semantic technology provided by PaaSport.European software SME association has developed a PaaSport project [48,49].The prime goal of the PaaSport project is to offer an open source unified semantic cloud brokering model through the marketplace for enabling interoperable PaaS offerings.
with the semantic engine and cloud ontology.However, each PaaS provider has given a proprietary API for the application developer to host the application to a particular cloud, which leads to a vendor lock-in problem.VMWare Cloud (VMW) has established an open source PaaS cloud provider named as Cloud Foundry, which provides generic API for the host application to the public and private cloud.Other than CF, OpenShift, GAE, Amazon Web Services Elastic BeansTalk, and Amazon EC2 help developers to deploy their applications onto a public cloud platform.All the above PaaS platforms have individual API for interfacing with the public cloud, since each code supports programming languages and uses different architectural styles, which increases the heterogeneity of the PaaS platform and makes the developer to learn different APIs.

Table 1 .
Summary of the service brokering framework.

Table 2 .
Summary of interoperable and portable frameworks.

Table 3 .
Summary of migration and composition of cloud services.

Table 4 .
Various types of proprietary application programming interface (API).