With cloud becoming ubiquitous in IT life and with cloud providers becoming very competitive, how does an operations team manage a multi-cloud environment?
Multi-cloud deployments are becoming increasingly prevalent, and management of these complex environments is a need that has emerged. Organizations want to know how to centralize or unify their various cloud services into the most meaningful and coherent whole.
The key to achieving this end of multi-cloud unity is to implement interoperability and portability throughout your ecosystem.
The rise of cloud and multi-cloud
Increasingly, businesses have been driven to the many benefits of cloud, such as flexibility, on-demand service provisioning, resource pooling, and security. The strength of cloud arises from the fact that its systems are operated by third-party providers – and that is true of all three forms of cloud: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS).
While SaaS and PaaS are environments that utilize cloud virtual servers, IaaS includes virtualization layers in addition to the underlying servers, networking, and storage hardware. Cloud servers can be modeled in three primary forms: public, private, and hybrid. Hybrid blends public and private components. Today, most firms go beyond simply choosing one of those three types instead opting to embrace multi-cloud strategies that incorporate numerous clouds from various providers.
Unifying these various systems so that you maintain ease-of-use, efficiency, and security while using these different environments to build your business requires a focus on integration. That was the topic of a paper published by the Cloud Standards Customer Council in December. The report, “Interoperability and Portability for Cloud Computing: A Guide Version 2.0,” provided insights to companies struggling with the question of how to bring together various cloud systems in the most seamless and intelligent way. The insights of this recent report feature heavily below.
Why are interoperability and portability so important?
Interoperability and portability are key ideas today, helping to organize a mishmash of cloud solutions and prevent vendor lock-in.
Interoperability is the ability of two or more computing systems to transmit data to one another and put any data received to use, according to the IEEE Standard Computer Dictionary. This definition is the one used by the Office of the National Coordinator for Health Information Technology (ONC), among others.
Interoperability applies to the cloud specifically in the sense that all cloud services are able to comprehend the configurations, authorization and authentication protocols, data formatting, and APIs of other clouds. If you are using standardized interfaces, you can jump between different clouds rather easily; for this same reason, cloud management systems are often deployed to better enable interoperability.
The CSCC report noted that portability is the extent to which a cloud user can transfer data and apps between cloud systems of various vendors, and between a cloud and the company’s own internal data center (assuming one exists). This principle is often divided into data portability and application portability.
Data portability within a cloud setting is the extent to which a customer can transfer data between internal systems and cloud, and between clouds. Application portability within cloud is the extent to which you can transfer a piece of software among on-site infrastructure and cloud solutions.
Challenges in achieving interoperability and portability
It is common to run into difficulties as you attempt to create a fully interoperable and portable multi-cloud environment. In terms of interoperability, the key issue is a lack of standardization between the various APIs and interfaces of cloud service providers (CSPs).
The Cloud Standards Customer Council noted that the highest degree of interoperability within cloud is found within infrastructure as a service, an area in which interfaces are often standardized (both as de-facto marketplace standards and formal standards, such as CDMI) and functionality is fairly parallel.
There is less operability with PaaS, and interface standards are lacking, said the report. However, there are some open source platforms that are quite similar, and more CSPs have been adopting those platforms.
The biggest issue related to interoperability is SaaS, and APIs for SaaS are largely unstandardized. Just jumping between different SaaS tools that serve the same basic purposes will usually mean you are exposed to a new interface. The effect of this dissimilarity between APIs and interfaces is broad, according to the Cloud Council, which noted that it influences “both end users of the cloud service for any user interfaces and also… any applications or systems belonging to the cloud service customer that use APIs offered by the SaaS application.”
Steps users can take toward multi-cloud unity
To further portability and interoperability for multi-cloud unity, the CSCC suggests taking the following steps both to prepare your in-house systems and choose the right providers:
- Make sure that your legacy applications are built using the principles of service-oriented architecture (SOA) and are able to use and expose APIs so that they are prepared for multi-cloud integration.
- Containerization can be a good way to virtualize your apps and dependencies since support for them is broader than it is for virtual machines.
- Any data, protocol, and interface adjustments that must be made throughout a multi-cloud can be addressed through the development of an enterprise service bus (ESB), which is middleware that enables app-to-app communication.
- When you choose a SaaS solution, go with ones that have standard data formats, protocols, and APIs. Make sure that your legacy apps and other clouds are compatible with the SaaS system.
- When you review PaaS services, be sure that the CSP’s environment is compatible with your internal one, allowing for app portability between the two. In order to migrate from one cloud to another, be sure the app environment uses standard technologies so that you have wider options if you want to change vendors.
- When you look at IaaS options, be sure that APIs and interfaces are standard, and that application packaging formats are either commonly accepted (as with OVF or Docker) or standard.
- Check that your cloud vendor supports open business and admin interfaces, to support numerous providers at once and to simplify switching providers.
- To enhance security, authorize and authenticate via access management and third-party ID – through an in-house system or one provided via another cloud service. When the cloud accesses your in-house data or APIs, protect yourself with API management and other defenses. Be certain that security technologies of cloud A are accessible by cloud B when cloud B uses cloud A’s services.
- Check that legacy environments can handle the business side of cloud, and deploy new systems as necessary. Link these systems to the cloud provider’s business functions.
- Check that you are able to either able to integrate the business and administrative features of the cloud vendor with your internal ones, or to use them directly.
Success with multi-cloud
Building a strong multi-cloud is about integration. To achieve the unity you need, interoperability and portability are the keys to your success. It is challenging to create a system that fully embraces these principles, however, recommendations from the Cloud Standards Customer Council can help you take steps toward a coherent and manageable multi-cloud environment.