Cloud computing has revolutionized the computing universe, opening the world to a larger pool of resources, big data platforms, intensive computing and faster throughput. As organizations expand their cloud footprint, the ability to use on premises as well as cloud environments, along with a combination of multiple cloud vendors, has led to a mashup of computing environments. This has given rise to what we today call hybrid, multi-cloud platforms.
Portability and Interoperability in a Hybrid Cloud Environment
A hybrid cloud environment is a combination of on premises and private clouds, as well as multiple public cloud spaces. These all interact with each other to provide services across an enterprise. Using a multi-cloud environment is new to most organizations and requires planning to ensure a seamless flow of data and information across these environments, thus raising concerns around interoperability and portability.
Another important concern for cloud computing is onboarding — the deployment or migration of workloads to a cloud service. Migration from on-prem to cloud as well as from one cloud service provider (CSP) to another requires portability of those components that can be moved to the cloud, and interoperability with remaining in-house systems.
Interoperability and portability are often used interchangeably in the context of cloud computing since many of their technical solutions are the same. However, the two concepts are different:
Interoperability in the context of cloud environments, is the ability of a product, application, system or technology to work with other systems and technology to facilitate the exchange of information and data across them. It is mainly a concern for multi-cloud or hybrid cloud environments to ensure the proper functionality of their services with the external world. In some cases, interoperability requires a previous knowledge or agreement of the systems with which the current one will inter-operate.
Portability is the ability to move and adapt applications and data between on premises systems and across multiple cloud service providers. Cloud portability is a concern to consider when designing an application, data or service. The aim is to minimize the human efforts in redesign and redeployment of application, data and services when moving from one cloud to another or when moving from on prem to cloud.
Key Enablers of Portability in Hybrid Cloud Environments
Both interoperability and portability of data and applications are a key attribute that directly dictates the ability to manage seamless transfer of data and applications between alternative CSPs. Below we explore some key enablers for portability in a hybrid, multi-cloud environment:
Open APIs and Standards
The classic way to bust the interoperability and portability problem is the adoption of standards and open source APIs. An open architecture based on open APIs and standards is the first step in building a portable application, while at the same time promoting interoperability. A clear mandate to specify and publish open APIs and standards is a must-have.
The most commonly used standard in cloud computing is the Open Cloud Computing Interface (OCCI). OCCI is a specification for remote management of cloud service infrastructure. It allows the development of tools for common tasks including deployment, monitoring and autonomic scaling. Its API supports three concepts: compute, network and storage.
Other open standards are OVF, CDMI and the Topology and Orchestration Specification for Cloud Applications (TOSCA). TOSCA enables the portable and standardized management of cloud services, where composite applications and their management is done based on service templates that contain a service’s topology and its operational aspects. – Read more