On the IaaS layer, work on cloud interoperability was already conducted [Ste13a], [Ste13b]. The authors described in “Challenges in the Management of Federated Heterogeneous Scientific Clouds” the problem and a feasible solution to migrate virtual machines between providers. Another challenge identified is the layer between the vendor API and the user. This problem is addressed by the same authors in the paper “Building an On-Demand Virtual Computing Market in Non-Commercial Communities”, where a market is introduced to handle that problem. The concept of the market is then described in “Take a Penny, Leave a Penny Scaling out to Off-premise Unused Cloud Resources” [Ste13b] in detail, where a solution is presented that allows users to use different cloud vendors with one abstract API.
Gonidis et al. [Gon11] give a first hint at challenges addressed for Platform as a Service interoperability. Platform as a Service gives the promise of speeding up application development [Mei11] by utilizing services. Platforms such as Microsoft’s Azure, Amazon’s Elastic Beanstalk or Google’s AppEngine offer a large number of services. The possibilities range from object storage, databases, messaging to analytics. A comprehensive overview is given in section 4. However, this leads to new challenges in terms of vertical interoperability. The challenge with PaaS is not like with IaaS, where one has to move the virtual machine. Now, it is about moving individual services and the corresponding data. The leading PaaS providers such as Amazon, Google and Microsoft provide their own frameworks and tools to access their platforms. When a customer decides to move the application to another provider, this becomes a challenge.
Loutas et al. [Lou11b] describe similar challenges. First, it is stated that cloud providers promote their own, incompatible formats over standards. This is largely due to the on-going battle of dominance in the cloud. Since each provider has their own standard, new and smaller providers cannot enter the market easily as there is no common standard yet. It is stated that interoperability is the missing element so far, even though it would benefit both – customers and providers [Lou11b].
Stravoskoufos et al. [Str] define different cloud interoperability challenges on each of the cloud layers. On the IaaS layer, interoperability is about controlling the infrastructure-specific services. For platform as a service, interoperability is about using the APIs and services. For Software as a s Service, the challenge is to exchange messages and data.