I'm off to the SOA World Conference to be held in San Jose next week, Wednesday through Friday. It's co-located with the Cloud Computing Expo. Thus, I'm getting the question: Where is the intersection of cloud computing and SOA?
While you can certainly leverage a cloud without practicing SOA, the real value of cloud computing is the ability to identify services, data, and processes that can exist outside of the firewall, in SEDC (somebody else's datacenter). Those that attempt to toss things to clouds without some architectural forethought will find that cloud computing won't provide the value. Indeed, it could knock you back a few steps when considering the risks and cost of migration.
Indeed, one can consider cloud computing the extension of SOA out to cloud-delivered resources, such as storage as a service, data as a service, platform as a service -- you get the idea (See Figure 1). The trick is to determine which services, information, and processes are good candidates to reside in the clouds, as well as which cloud services should be abstracted within the existing or emerging SOA.
[ Read David Linthicum's early SOA predictions for 2009 ]
So, you can think of clouds as additional places to run things, simply put. The advantage is that you don't have to drag yet another software rich server into the datacenter and hire a few more people to maintain it.
While enterprise IT is understandably skittish about cloud computing, I think many of the cloud computing resources out there will actually provide better service than on-premise utilities once we've allowed cloud computing to settle in a bit more, including cost savings, efficiencies, and access to thousands of dynamic Web-delivered resources.
I think that the interest in cloud computing is also driving an interest in SOA, based on what I'm seeing not only as a mechanism to drive more reuse and agility, but the ability to figure out what should stay local and what should find a place in the clouds.
Good SOA leads to a good cloud computing strategy, which leads to reduced costs, enhanced agility, and more excitement around enterprise computing than we've seen in a while.