BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Cloud integration refers to the combination of tools, technologies and practices an enterprise can use to connect applications, systems, data and even entire IT environments. Such integrations can occur between different cloud providers and platforms, as well as between cloud-hosted and local or on-premises resources.
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 admins struggle to manage and maintain each different cloud resource or data set.
For example, it's relatively simple for a business to use a software-as-a-service (SaaS) application to integrate a new employee and create the relevant payroll and tax records. But the new employee must also receive a new email account, such as for Office 365, as well as access to the relevant collaboration tools. The new employee must also be added to the organization's Active Directory (AD) database.
Without cloud integration, IT would need to perform all of these integration tasks separately and manually -- a process that is time-consuming and increases the opportunity for error. Through the integration of data and services, however, IT could use policies and processes to automatically implement many of these tasks.
The ultimate goal of cloud integration is to connect the disparate elements of various cloud and local resources into a single, ubiquitous environment where an organization can more seamlessly access and manage applications, data, services and systems.
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.
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.
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).
Several examples of cloud integration tools include: