Interoperability in cloud computing is a state where the cloud services can understand each other’s APIs, configuration, authorization. Interoperability means enabling the cloud ecosystem so that multiple cloud platforms can exchange information. Interoperability in cloud computing gives the ability to the customers to use the same or similar management tools, re-use server images and other software within a variety of cloud computing providers and platforms. It is opposite of vendor lock-in effect. The major challenge for cloud computing interoperability is the variety of cloud APIs and interfaces. Notably, the challenge is not always deliberately implemented by the providers. We can not ignore the role of API (Application Programming Interface) working behind the scene to join various services. The cloud computing community has developed numerous standards. Also, nonprofit organizations such as OpenStack contributed a lot for directing some common way. Some of the standardization efforts focus on workloads, authentication, and data access. While the other standards try unifying the efforts to work together.
Among the workload migration, there are several server image formats such as AMI, OVF, VHD. Although SOAP and REST are not data-specific standards, many of the cloud service providers support SOAP and REST. There are various efforts of using a common user authentication such as OAuth, OpenID. Among the provider service models, we all now the three main service models –
IaaS, PaaS and SaaS. PaaS is developer-centric offerings and less interoperable because of fewer interface standards. PaaS platforms vary widely and porting from one platform to the another may involve lot of learning. SaaS have even fewer standard APIs.
Each vendor’s cloud environment contains hypervisors, processes, security, a storage model, a networking model, a cloud API, licensing models and many more. It is rare when two providers implement their clouds in the same way. So, despite IBM, Rackspace and HP cloud use OpenStack for IaaS, the movement thing not always easy. That is about IaaS, which has too many old ways to move. When the operating system (even version) and hypervisor versions that do not match that may produce conflicts which may not be easy to resolve.
Portability is the customer’s ability to move applications and data between different providers. Different providers
include on-premise, dedicated and cloud-based virtual systems. Portability can be of two types: application portability and data portability. The cloud computing portability and interoperability categories to consider are thus:
- Data Portability
- Application Portability
- Platform Portability
- Application Interoperability
- Platform Interoperability
- Management Interoperability
- Publication and Acquisition Interoperability