Bringing Cloud Computing to SOA
It's all about the services
June 2, 2009 07:00 PM EDT
There’s no shortage of opinions on how cloud computing and SOA are related. Just plug the phrase into your favorite search engine and you’ll have a day’s worth of reading. What you are likely to find are articles discussing how SOA led to cloud computing, how a good SOA is a prerequisite to leverage cloud computing, or how to leverage cloud computing in your SOA. I’ve spent quite a bit of time reading these types of articles and listening to experts talk about SOA and cloud computing, and that got me to thinking. How can companies bring the cloud experience to their SOA?
In order to do this, a company may set out by creating clouds of their physical infrastructure, storage, or networking capabilities, which are all worthy pursuits. However, I believe the best way to cloud-enable a SOA is to deal with the heart of the SOA, the services. In short, to bring the cloud to SOA the goal should be to create a cloud of services. This is of course easier said than done, but as a general outline it would be a two step process:
- Virtualize the services
- Manage the virtualization
When we look at cloud computing in very plain terms, solutions usually constitute a set of virtualized resources and capabilities that allow those resources to be managed. Virtualizing the services in a SOA is a logical first step then toward moving to a cloud-enabled SOA. There are solutions in the marketplace today, the WebSphere CloudBurst Appliance being one, which provide users a virtual packaging that includes an operating system, service infrastructure, and service. In effect, the service becomes a virtualized resource, thus enabling the next very important step in bringing the cloud to a SOA.
Virtualization alone does not a cloud make, so after users successfully virtualize the services in their SOA, capabilities to manage such virtualization need to be put in place. The capabilities I’m speaking of here bring cloud-like characteristics to the service virtualization. These include the ability to create, deploy, dynamically allocate, and track usage of these virtualized services. This results in an elastic cloud and one in which usage across the cloud can be tracked to facilitate the utility pricing model so often associated with clouds.
Read more here.