As cloud services become more important to companies today, cloud computing interoperability and portability become more than just multisyllabic IT terms. They’re concepts that, when put to use, can help companies avoid being locked into vendor relationships and make the best use of a jumble of cloud services.
The Cloud Standards Customer Council, a body of cloud experts and users that helps drive standards for cloud computing, published an updated published an updated guide on cloud computing interoperability and portability in December and last week aired an accompanying webinar. In it, Mike Edwards, platform as a service evangelist at IBM and cloud standards expert, defined the terms and described the challenges interoperability and portability pose for companies with multi-cloud environments.
Cloud interoperability and portability defined
Interoperability: Edwards gave the definition adopted by the Institute of Electrical and Electronics Engineers: the ability of two or more systems or components to exchange information and to use the information that has been exchanged. “Straightforward as that,” he said.
For cloud computing, interoperability means public and private cloud services can understand each other’s APIs, configuration, data formats and forms of authentication and authorization. Ideally, Edwards said, the interfaces are standardized, “so that you as a customer can switch from one cloud service to another with as little impact to your systems as possible.”
Portability: According to the CSCC paper, portability is a cloud customer’s ability to move applications and data between on-premises and cloud systems and between cloud services offered by different providers. Portability can be broken into two types: application portability and data portability.
Cloud application portability is the ability to move an application “from one cloud service to another cloud service or between a cloud service customer’s systems and a cloud service,” Edwards said. It’s important to be able to do that with relative ease. “The whole goal here is to require as few changes to the application code as possible.”
Cloud data portability is the ability to move data among cloud and on-premises systems. This should be done in a commonly used electronic format, Edwards said, and there must be a mechanism for importing data into the targeted cloud service – typically an API.
Problems and solutions
The main challenge companies shooting for cloud computing interoperability face is the sheer variety of cloud APIs and interfaces, according to the CSCC paper. They aren’t standardized, and cloud service providers use different ones. Cloud infrastructure services have a higher level of interoperability, because their services are comparable, and there are some standard interfaces.
Developer-centric platform as a service offerings are less interoperable because few interface standards exist. Software as a service applications, with even fewer standard APIs, “present the greatest interoperability challenge today,” the paper continued.
As a solution to these problems, companies can build a “mapping layer” between their own systems’ APIs and cloud services’ APIs using an enterprise service bus. Or they can employ a cloud service broker, “which does that mapping for you,” Edwards said.
The biggest challenges standing in the way of application portability are for PaaS-built applications. That’s because PaaS platforms vary widely — for example, the way one platform manages data may not be supported at all in another.
Companies trying to transfer data from one cloud infrastructure to another are better off, since standards that allow for moving applications do exist. Standard operations systems such as Linux can help migrate data. An open source platform such as Cloud Foundry can help move data among PaaS systems, and container technology such as Docker can help move pieces of applications.
Moving data between SaaS applications is the biggest portability concern today. The question most companies need to figure out an answer to, Edwards said, is, Will the data port? “Do you have to modify it for it to be used?”