SOA is a good step and may be enough for most organizations applications. But to leverage the cloud effectively means taking application development one step further, and building applications for a cloud deployment, the topic of Amazon's "Architecting for the Cloud: Best Practices." Whether you are planning on using Amazon or not, you should read this before embarking on a cloud application strategy.
Jinesh Varia writes, "The cloud is designed to provide conceptually infinite scalability. However, you cannot leverage all that scalability in infrastructure if your architecture is not scalable. Both have to work together. You will have to identify the monolithic components and bottlenecks in your architecture, identify the areas where you cannot leverage the on-demand provisioning capabilities in your architecture and work to refactor your application in order to leverage the scalable infrastructure and take advantage of the cloud." The rest of the paper touches on key application architecture topics that your development and IT team (servers, storage, networking and management) need to evaluate and address. Like any new IT process, the first project will be the most difficult, since you are learning new things and applying new strategies. Subsequent projects will be easier.
The key takeaway is that the way in which your applications are built today will have to change. Moving a VM from your data center to a cloud service is not a hybrid cloud. It's simply relocating processing from here to there. Adapting existing applications that split processing between your resources and a cloud service is a hybrid cloud. For example, a government agency needed to share geographic data with commercial entities, but, due to DHS restrictions, they had to restrict access to parts of the data set. To complicate things, the application usage had a very spiked demand curve, with periods of high utilization and periods of low utilization.
They could have simply altered their existing application with access controls and provisioned enough hardware and bandwidth to handle the high demand periods, but, like any other provisioning scenario, that would have been costly from an operations standpoint. Since they were going to re-architect their existing application anyway to implement access controls, they decided to push the processing out to a cloud service that would give them the flexible scaling they needed in a cost effective manner. They created a cloud application that their customers could access and integrate with, and they modified their existing application to provide a service that returned only the necessary scrubbed portions of data.
Their hybrid cloud application turned out to be much more effective, since they didn't have to implement access controls in the existing application and they off-loaded demand processing to a service that could scale dynamically. Simply moving a VM to a cloud service wouldn't have cut it. Cloud computing and hybrid cloud computing may be hyped in 2010, but there is real value behind the hype, and we are just starting to see use cases. Cloud alone isn't going to solve your problems, but, like any tool, it can solve many seemingly difficult ones.