BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Cloud integration is the act of combining different cloud-based systems into an integral whole. The term may also refer to joining cloud-based systems with on-premises systems. The ultimate goal of cloud integration is to connect the disparate elements of various cloud and local resources into a single, ubiquitous environment that allows administrators to seamlessly access and manage applications, data, services and systems.
The rise of public cloud computing has enabled enterprises to use a wide assortment of highly scalable resources and services on demand rather than constructing and maintaining them in-house. However, in some organizations, the arrival of these diverse resources and services has created IT silos as administrators struggle to manage and maintain each different cloud resource or data set. Without cloud integration, IT administrators need to perform each integration task separately and manually -- a process that is time-consuming and increases the opportunity for error.
Cloud integration platforms and tools
It is possible for an organization to build a custom cloud integration platform, though this option can be complex and costly. Instead, many organizations choose a third-party integration tool, such as an integration platform as a service (iPaaS). Examples of cloud integration tools include:
MuleSoft Anypoint Platform - includes various tools for developing, managing and testing application programming interfaces (APIs).
Dell Boomi - enables customers to design cloud-based integration processes called Atoms and transfer data between cloud and on-premises applications.
IBM App Connect - allows administrators to set up workflows that define how data is moved from one application to another.
Cleo Integration Cloud - provides digital integration agility across cloud and on-premise applications.
Microsoft Azure Logic Apps - allows administrators to automate workflows that integrate apps and data across cloud services and on-premises systems.
Apache Libcloud - this Python library allows administrators to manage different cloud resources through a unified application programming interface (API).
How cloud integration works
There is no single means of implementing cloud integration, but there are several common concepts to consider.
For example, an IT team can achieve cloud integration using mediation or federation. Mediation works between applications; the cloud integration platform recognizes an event in one application and then triggers a response that is sent to another connected application.
By comparison, federation acts as a front end for two or more federated applications where the cloud integration platform can intercept and process events from outside of those applications and trigger corresponding actions. It's also possible to combine these two approaches so mediation handles the actions between applications and federation handles the actions from outside of the connected applications.
Cloud integration can function asynchronously or synchronously depending on the communication taking place. Asynchronous cloud integration communicates data and commands without having to wait on a response from the receiving application. This prevents unnecessary delays in sending -- or originating -- data because it does not need to wait for the receiving -- or target -- application to respond. Synchronous cloud integration will wait for a response from the receiving application, which ensures the applications are fully synchronized before continuing.
The actual time required to conduct cloud integration can vary. Typically, IT can complete some integration tasks, such as an automatic synchronization, fairly quickly. Other tasks may require hours or even days, especially if the synchronization involves a human workflow.
Cloud integration platforms typically use adapters or connectors, which are software modules intended to interact with specific business applications. Thus, a cloud integration platform can implement a central interface or broker that handles security and authentication, while specific adapters accommodate the applications being integrated. The connector performs the communication and notifications.
Connectors can be for specific applications, such as SAP, or can be vendor-neutral, using standard communications protocols, such as simple mail transfer protocol (SMTP) message exchanges, simple object access protocol (SOAP) messaging, application programming interfaces (APIs) and the Java connector architecture (JCA).
For data integration, cloud integration platforms typically use an application-independent data format, such as extensible markup language (XML). Each connector will translate the application's specific format to the independent format before it performs any translations or conversions, and can then exchange that common data with the receiving application.
Benefits and challenges
Although cloud integration does not change data or modify applications, it can synchronize data and applications across an enterprise. When implemented properly, integration can automate complex workflows and reduce or eliminate redundant data that could lead to operational errors. Consequently, cloud integration can improve operational efficiency, flexibility and scalability, as well as reduce operational costs.
However, cloud integration poses some challenges, most of which stem from a lack of standardization. There is no universal or standard approach to integrate cloud resources. Different applications, resources and services sometimes use different communications schemes, which makes it difficult to create and maintain the necessary connectors to interact with various elements of the cloud and local environments. Updates and patches to applications might alter the way those applications communicate and may require time-consuming connector updates.
There are additional issues that can disrupt a cloud integration project. As integrations can be complex, they demand technical expertise and, in some cases, dedicated staff to manage.
Types of cloud integration
An IT team can implement multiple types of cloud integrations, including cloud-to-cloud -- between cloud platforms -- cloud-to-local -- between cloud and on-premises environments -- or any mix of the two. Integrations typically involve data and applications, though they can also involve services and systems.
Perhaps the most common form of cloud integration is data integration, which aims to share or synchronize data between data stores. Another important type of cloud integration is application integration, where two or more applications can share states, requests, commands and other mechanisms to implement businesses processes.
For example, a typical enterprise uses a number of software tools, such as those for supply chain management (SCM), enterprise resource planning (ERP) and customer relationship management (CRM). Many of these tools now exist in the cloud as SaaS applications.
However, these tools cannot generally communicate to share data or business policies, which can result in duplicated data and inconsistent business practices. Through application integration, an organization can link applications to share data and automate broader business practices.
To a lesser extent, an organization can use cloud integration to unify services and systems to help with tasks such as cloud usage, cost tracking and troubleshooting. For example, emerging systems management tools can embrace both on-premises and cloud resources, which can help an admin understand how resources are allocated and managed throughout the enterprise.