A core issue that arises as we toss our data out to the clouds is the fact that at some point we need to sync that data with our existing "traditional" on-premise systems. This fact is often lost on those deploying cloud computing tools until they attempt to drive business processes between cloud computing and on-premise resources. Then, the lack of integration becomes a huge problem.
I believe that integration is so important that I wrote a book about it way back in the Stone Age. While the focus then was on the enterprises and intra-enterprise integration, we're now seeing integration in a new cloudy light, with new players and new approaches, but with many of the same old problems.
[ Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. | Confused by the cloud hype? Read InfoWorld's "What cloud computing really means" and watch our cloud computing InfoClipz. ]
You have to consider the fundamentals of integration first, including the ability to connect with both source and target systems, such as Salesforce.com and SAP, or Amazon EC2 and Oracle, and then how to extract data from the source system, mediate the semantics and technical differences, and publish the data to the target.
Of course, although cloud-to-enterprise integration is the typical pattern, we're now seeing cloud-to-cloud integration as well, plus very complex integration paths that can span dozens of on-premise and/or cloud computing-based systems. These patterns of integration are going to become more complex as cloud computing becomes more pervasive.
There are a few ways to address this integration need, including software-based on-premise integration tools, on-premise appliance-based integration tools, and the cloud-delivered integration tools.
Software-based on-premise integration tools. This set includes the technology I created in the late 1990s and early 2000s and is about traditional integration server software running on an on-premise server to drive integration among any number of systems, whether cloud computing or on-premise. While typically higher in price, they are more advanced and richer in features, considering the amount of time they have been around and the number of iterations the integration software has gone through. Providers here include IBM, Software AG, Oracle, and Informatica.
On premise appliance-based integration tools. These provide integration in a box, in essence a preconfigured and optimized integration server that's configured for a specific purpose, typically some cloud talking to some enterprise. Cast Iron Systems is a provider here (it recently added Amazon EC2 integration after supporting Salesforce.com for years).
Cloud-delivered integration tools. These provide integration technology as a service. This is something I've been involved in with a few past startups; today, the likes of Boomi provide this type of service and Informatica on Demand, focusing on cloud-computing-to-enterprise integration. However, this model works best for cloud-to-cloud, for obvious reasons.
Which integration approach is right for you? Generally speaking, I recommend you take the time to understand the integration needs before migrating to clouds and create a plan for how integration will be addressed and the right technology for the job. Issues to consider include:
- Firewall mediation: How you're going to externalize and consume data that may not be port-80-compliant.
- Performance required: How fast you need to move data and how quickly the data transformation (supporting semantic mediation) and routing mechanisms need to function. There is a huge difference between 10 messages a second and a 100 -- trust me.
- Maintenance and upgrades: How you're going to support new cloud computing or enterprise systems interfaces as they evolve.
- Governance: How you're monitoring all points of integration and logging the data on the move.
- Security: How you're encrypting and otherwise protecting sensitive information, stored or on the move, cloud or on-premise.
With a bit of planning and some good technology, integration issues are quickly addressed, and your path to cloud computing becomes that much clearer.