One of the trends we’re seeing recently is a growing business need for integrating internal business applications and data with cloud-based applications. Our experience in this space is mostly with SFA & CRM applications and, of course, the ubiquitous Google applications and services. As these applications are often targeted at the sales force, there are moderate numbers of users (100s-10s of thousands) with high availability requirements.
SOA is the de facto standard for integration with most cloud-based applications, so there’s no real architectural barrier to integrating with them – no matter where you host.
Factors to consider include:
Are all of the internal applications/data that you need exposed via SOA?
Many businesses have already jumped on the SOA bandwagon, and already expose much of their internal data through SOA. Where there is a gap, you will need to plan for the development effort of creating a new service.
How data-intensive are the planned transactions?
While SOA is great for easily implementing interfaces, latency and perhaps bandwidth may require other approaches. Possibilities include caching data within the cloud and/or replicating data into a cloud-based database.
How secure does the data need to be?
You obviously give up some control when pushing applications and data into the cloud. However, the cloud providers have a large financial interest in implementing and enforcing security.
Do you have the infrastructure required to support the application with its availability and performance requirements – and is it cost-effective?
For many companies that have an existing infrastructure, the incremental cost of supporting the integration application may be more than the cost of deploying it into the cloud.
I’ve come to the conclusion that it makes a lot of sense to host business critical applications in the cloud. For most organizations it’s easier & cheaper. You get redundancy and scalability.