|By Dustin Amrhein||
|June 7, 2009 10:30 AM 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.
Once both service virtualization and management of that virtualization are in place, the result is a cloud of services. In my opinion, clouds of services are more valuable than clouds of things like hardware, storage, and databases because the cloud is brought to the resources that are much closer to the end-user. Further, once a cloud of services has been established, it’s not much of a stretch to use the same techniques to bring the cloud all the way to the applications comprised of such services. This may be the most valuable cloud of all since it is the asset that a company’s end-users come in direct contact with.
- Forget Defining Cloud Computing
- IBM & Cloud Computing: Self-Service Clouds with Fine-Grained Control
- IBM & Cloud Computing: How WebSphere CloudBurst Delivers Consumability
- Cloud Computing and Virtual Images
- Bringing Cloud Computing to SOA
- Five Reasons to Choose a Private Cloud
- What's in a Cloud Appliance?
- Should Developers Care About Cloud Computing?
- Reference Architecture for Cloud Computing
- Confronting The Culture of Cloud Computing