What is integration?
IT integration, or systems integration, is the connection of data, applications, APIs, and devices across your IT organization to be more efficient, productive, and agile. Integration is key when discussing business transformation—fundamental changes in how you conduct business to adapt as the market shifts—as it makes everything in IT work together. Integration not only connects, but it also adds value through the new functionalities provided by connecting different systems’ functions.
This isn’t to be confused with continuous integration (CI), which is a developer practice where working copies of code are merged into a shared central repository multiple times a day. The goal of CI is to automate build and verifications so problems can be detected earlier—leading to faster development.
A brief history of integration
As IT systems grew and developed over time, they started to sprawl away from one another. One vendor’s solutions didn’t communicate with another’s. Next thing you knew, you had an entire IT stack that was connected only by the fact that you owned it all. So there needed to be a way to organize this technology “spaghetti” to stop duplicating efforts—especially when it came to implementing and acting on business logic.
*Note: The following is subject to debates about semantics: physical topologies vs. logical topologies, approaches versus architectures versus technologies. The explanations below are intended to be general overviews.
Enterprise application integration
A solution to all of this disparate sprawl was enterprise application integration (EAI), which is technologies, tooling, and a framework that implements real-time, message-based integration between apps. These messages are triggered by changes or parameters built within the individual apps. EAI was accomplished in one of 2 ways, point-to-point and hub-and-spoke.
The point-to-point model meant that each application had to be customized to talk to the other applications and pieces of your IT. This is all customized for each IT asset and for each asset that it connects to. This is also very tedious work and, understandably, highly error prone. To further complicate things, as you update your infrastructure and apps this model can be very hard to maintain over time.
To solve this, there’s the hub-and-spoke model, where the connections between apps and services are handled by a central broker—the hub. The spokes that connect the hub to the apps and services can be individually maintained. This allows the apps themselves to be more focused, with all arts of integrations handled via the hub and spokes. The main downside to this approach is the centralization of the hub. It becomes a single point of failure for the system and for your infrastructure communications. All integrations in the EAI hub-and-spoke model is, by design, dependant on the hub to function.
The enterprise service bus
Following the EAI hub-and-spoke approach was the enterprise service bus (ESB), a tool providing message-based abstraction—modularizing services between applications.
An ESB also acts as a central hub where all of these modularized services get shared, routed, and organized to connect your apps and data to one another. It’s a better solution to the EAI hub-and-spoke, but perhaps not the end-all as organizations grow, add assets, and need more speed across all of their properties and software resources.
By now you’ve surmised that an ESB looks a lot like the hub-and-spoke model. This is true, but an ESB has some very distinct features that set it apart in terms of functionality.
- ESBs present themselves as a service using open standards. This removes the need to write unique interfaces for each application.
- Integration services can be deployed with minimum changes to applications.
- ESBs rely on industry-standard, open protocols and interfaces to ease new deployments.
However, typical ESB deployments often lead to centralized architectures for obvious reasons mentioned in the hub-and-spoke model—one place to host and control all integration services. But the centralized ESB deployments and architectures come with rigid central governance which doesn't help deliver faster and more-adaptive solutions which are the foundations for digital transformation initiatives. Furthermore, ESBs often become monolithic applications themselves.
So far we’ve been talking about integration itself—the technologies that make everything work together. So, what’s agile integration? This delves into how Red Hat sees the future of connected systems and how they support the real work your IT teams must accomplish to thrive—especially as change occurs more frequently.
Agile integration is an architectural approach to your integration platform. It’s how you set up your integration to support teams that are focused on delivering value to your customers, so it goes deeper than pure technology and connecting everything. It’s the architectural framework that defines the interoperability of services and with a focus on app functionality. An agile integration architecture can be broken down into 3 key capabilities: distributed integration, containers, and application programming interfaces.
- Lean, individually deployable
- Scalable, highly available
Application programming interfaces
- Well-defined, reusable, well-managed endpoints
- Ecosystem influence and use
Integrate with Red Hat
Red Hat gives you modular, lightweight, and comprehensive integration solutions that are open source, open standards, and available on-premise or in the cloud.
Integrate your different IT assets with a lightweight, flexible integration platform. Red Hat JBoss Fuse provides a standardized methodology, server, and tools to integrate your app components.
Manage your APIs for internal and external users with a platform that makes APIs easy to share, secure, distribute, control, and monetize.
Provide fast, lightweight, and secure messaging for internet-scale applications. AMQ is a high-performance messaging platform to deliver information reliably—enabling real-time integration and connection to the Internet of Things (IoT).
Develop, deploy, manage, and scale applications with containers through a container platform. OpenShift can orchestrate all of those applications automatically and work with offerings like Fuse and 3scale API Management to bring an agile integration approach to the cloud.