Cloud computing is a done deal according to a recent InsightaaS article. Many enterprises are now using at least four distinct IT environments, including cloud. But cloud isn’t a single, self-contained product – it’s a complex portfolio of services built in-house or delivered by multiple, often competing providers. Cloud buyers that want to avoid vendor lock-in look for feature-rich services combined with a robust environment that supports multi-vendor federation, fully integrated security and consolidated management.
The rapid evolution of cloud technology is impressive, but the immaturity of many cloud solutions today can result in technical incompatibilities, integration issues and operational complexity. These challenges can be mitigated, in part, by ensuring inter-cloud interoperability and software portability.
Cloud customers need a clear understanding of what interoperability and portability entail, what role these capabilities play in the next generation of cloud solutions and what is needed to realize the benefits. Key questions cloud users should ask is whether industry-wide standards for interoperability and portability are needed and, if so, when will they be widely adopted.
Defining interoperability and portability
As with most IT concepts, different perspectives lead to different definitions, especially when consolidation around a particular defination may offer competitive edge. The following definitions, based on ISO/IEC19941, are the product of long debates among industry experts.
Interoperability is the ability of two or more systems or applications to exchange information and to mutually use the information that has been exchanged. Cloud interoperability is the ability of a customer’s system to interact with a cloud service or the ability for one cloud service to interact with other cloud services by exchanging information according to a prescribed method to obtain predictable results.
The two noteworthy dimensions of interoperability – connectivity and usability – have been divided into five layers, as is illustrated in the diagram below.
Transport interoperability is the exchange of data using physical networks such as the Internet; syntactic interoperability is concerned with the structure and coding of the data (e.g., English coded into ASCII characters); and semantic interoperability refers to the intended meaning of the data (i.e., the English word “customer” has different implications depending on the context). Interoperability also includes expected behaviour – did the service behave as expected? Finally, policy interoperability is the ability of clouds to interoperate while complying with any applicable legal, organizational and policy frameworks.
Portability, on the other hand, is moving the data and/or applications from one system to another and having it remain useable or executable. Cloud data portability is the ability to easily move data from one cloud service to another without needing to re-enter the data. Cloud application portability is the ability to migrate an application from one cloud service to another or between a customer’s environment and a cloud service.
The concepts of interoperability and portability can also be treated in terms of relative achievement – it’s not an all or nothing proposition. The ideal for interoperability is that all five layers are fully compatible without custom translations, conversions or gateways, but ideal is rarely the case. With portability, the measure would be based on how few changes, especially manual changes, are required during the migration process.
The Cloud Standards Customer Council (CSCC) guide to cloud portability and interoperability has identified five major scenarios requiring interoperability and portability:
- Switching cloud service providers – the customer wants to move an application and data from Cloud 1 to Cloud 2;
- Use of multiple cloud service providers – the customer subscribes to the same or different services from two or more clouds (Clouds 1 and 2 in the diagram);
- Directly linked cloud services – the customer needs Cloud 1 to be linked to Cloud 3 to make use of its services;
- Hybrid cloud configuration – the customer connects legacy systems to an internal private cloud (e.g., Cloud 1) which is linked to a public cloud service (e.g., Cloud 3); and
- Cloud migration – the customer moves one or more in-house applications and/or data to Cloud 1.
In summary, interoperability and/or portability may be required between legacy systems and cloud services (either public or private, in-house or hosted) and between two or more public and/or private cloud services. A cloud service broker may be a factor through its role as an intermediary between the customer and the cloud service provider(s).
Several standards organizations have been working hard to clarify, define and qualify the functions of cloud interoperability and portability. The goal is a more open cloud computing environment that minimizes the risk of vendor barriers and avoids the inefficiencies of incompatible services.
As long ago as 2013, The Open Group produced a “Cloud Computing Portability and Interoperability” guide. In 2016, The European Telecommunications Standards Institute (ETSI) published a Special Report called “Cloud Standards Coordination Phase 2; Interoperability and Security in Cloud Computing.” Study Group 13 of the International Telecommunications Union – Telecommunications Sector (ITU-T) is also actively working on recommendations for “inter-cloud computing.”
In August 2017, The National Institute of Standards and Technology (NIST) and the Institute of Electrical and Electronic Engineers (IEEE) announced a joint collaborative effort to meet the growing demand for standards that address “intercloud” interoperability. The new cooperative initiative brings together efforts from the NIST Public Working Group on Federated Cloud with those of the IEEE Intercloud Working Group, which is developing IEEE P2302TM—Standard for Intercloud Interoperability and Federation.
The International Organization for Standardization (ISO) recently published ISO/IEC19941:2017 (Information technology -- Cloud computing -- Interoperability and portability), which offers a consensus understanding of interoperability and portability and establishes a terminology and conceptual framework.
Finally, the Cloud Standards Customer Council (CSCC), which first published its “Interoperability and Portability for Cloud Computing: A Guide” in 2014, is now preparing an update based on the ISO standard. In a recent CSCC webinar, Mike Edwards of IBM, who is also the Chair of the UK ISO Cloud Computing Committee, explained a ISO “facet model” that describes the interoperability and portability layers. He noted that the standards should be of interest to both service providers and customers and that they can help with defining migration plans.
Are interoperability and portability really needed?
The short answer is YES, except perhaps in the use of isolated, independent cloud services (as may be the case for Shadow IT). Any multi-cloud, multi-vendor cloud configuration depends on services that enable interoperability.
The interoperability challenges in each of the cloud service categories (IaaS, PaaS and SaaS) will be different. It is more difficult to achieve behavioural interoperability across two applications than it is to connect a compute service to remote storage, for example. Although no single, simple answer for either interoperability or portability is expected, a common language to discuss the issues and a shared understanding of the customer’s requirements are always helpful.
Interoperability reduces technical complexity by eliminating custom gateways, converters and interfaces. One classic example of the interoperability problem can be seen with the transition from IPv4 and IPv6 in the Internet – a lack of interoperability has slowed down the adoption of IPv6.
Portability is often cited as being needed largely to mitigate vendor lock-in. However, moving from one system to another with a minimum of effort, as may be possible with container services, can also improve resilience and scalability.
Ultimately, more flexibility to change service providers, having fewer barriers to the leverage of “best of breed” solutions and greater ability to negotiate lower costs and better service quality are clear benefits for the cloud customer.
Rapid progress in industry standards will encourage the development of interoperable clouds. Will 2018 be the year this begins to emerge?