Those looking to extend their SOAs to cloud computing platforms are not alone. Interest in SOA has perked up a lot in the last few months, mostly around the movement and interest in cloud computing. However, many of those moving to cloud computing are making some critical and avoidable errors, and I would like to talk about three of them:
Error No. 1: Looking at cloud computing as a mere platform change and not architecture. Many consider cloud computing as a simple shift from on-premise to off-premise platforms, but there are any number of moving parts that are affected, including integration, security, service management, service governance, and so on. Thus, you need to consider the "change in platform" holistically as part of the architecture or SOA. Missing that point means you'll move two steps forward and three steps back each and every time you pull that one.
[ What exactly is the cloud? Get past the hype and see what's real in InfoWorld's "What cloud computing really means" | Bust the nine myths of cloud computing. | Stay on top of the cloud from an IT pro's perspective in whurley's Cloud Computing blog. ]
Recommendation: Consider this an architecture, and not just a tactical change. Factor in the cost of changing the architecture, not just the platform.
Error No. 2: Ignoring performance. The use of a federated architecture, inclusive of cloud computing typically comes with a systemic performance problem considering that the processes, services, and data are not collocated. Cloud computing makes this much worse, since in many instances coupled services could be 10,000 miles away across a very bursty Internet, and architects typically don't consider performance until it's too late.
Recommendation: Create a performance model and do some performance testing prior to placing your SOA using cloud computing into production.
Error No. 3: Asking "when" instead of "why." The hype around cloud computing is hitting a noise level I've not seen before in my career. As a result, many people consider moving major systems to the cloud as something that is not only acceptable, but mandated. While cloud computing provides us with some opportunities to be more efficient, not all applications, services, processes, and data should reside in the cloud. You need to look at the processes, services, and data in great detail and understand the core requirements of those components before relocating them to cloud computing platforms. You'll find that in many instances, cloud computing does not make sense.
Recommendation: Define your architecture as sets of components, understand each component, and assess the value of moving it to cloud computing. Make objective decisions, and don't follow the hype.
Hope this helps.