Blog Featuring Code, Thoughts, and Experiences with Software and Services

Integration in the Cloud: Part 1 – Introduction

I recently delivered a session at QCon Hangzhou (China) on the topic of “integration in the cloud.” In this series of blog posts, I will walk through a number of demos I built that integrate a variety of technologies like Amazon Web Services (AWS) SimpleDB, Windows Azure AppFabric, Salesforce.com, and a custom Ruby (Sinatra) app on VMWare’s Cloud Foundry.

Cloud computing is clearly growing in popularity, with Gartner finding that 95% of orgs expect to maintain or increase their investment in software as a service. But how do we prevent new application silos from popping up? We don’t want to treat SaaS apps as “off site” and thus only do the occasional bulk transfer to get data in/out of the application. I’m going to take some tried-and-true integration patterns and show how they can apply to cloud integration as well as on-premises integration. Specifically, I’ll demonstrate how three patterns highlighted in the valuable book Enterprise Integration Patterns: Designing, Building and Deploying Messaging Solutions apply to cloud scenarios. These patterns include: shared database, remote procedure invocation and asynchronous messaging .

In the next post, I’ll walk through the reasons to use a shared database, considerations when leveraging that model, and how to share a single “cloud database” among on premises apps and cloud apps alike.