Monday, October 29, 2012

Cloud Computing Model and SOA


Recently, someone asked me that “where is cloud computing not SOA?”. It surprised me first, and then I realized people may have different ideas about what is SOA.
Most people may tend to attach SOA to Enterprise Service Broker (ESB) associated solutions, or the technical mechanisms associated with following definition, with or without ESB, which is



  • Service Provider: who publishes services to Service Registry
  • Service Consumer: who finds services from Service Registry and use (or “bind” to) them
  • Service Registry: where contains information for available services
  • Publish: providers announce service availability to consumers via Service Registry
  • Find: consumers discover available services inside Registry
  • Bind: a service provider and a service consumer reached agreement, and the consumer connected to the service to consume it.

Where the core SOA concept presented is shareable services with loosely coupling via a service registry, which is exactly the motivation for cloud computing model as well. The services provided on cloud are intended for sharing. These services are loosely coupled between the cloud service providers and the consumers, and the service binding is based on service agreement. Therefore we have the Cloud Service Conceptual Model:
 

 
Therefore, this is my take: The Service Architecture of Cloud Computing is an instance of SOA. A popular SOA infrastructure with adoption of ESB is illustrated as following:


 

A similar cloud service infrastructure, or a service platform, can be illustrated as following, where it can also be considered as a PaaS model with SaaS for the depicted service components:
 
 
The statement of "The Service Architecture of Cloud Computing is an instance of SOA" is from the conceptual level architecture perspective, based on SOA is "shareable services with loosely coupling via a service registry". There is still distance from the current stage of cloud computing implementation. For cloud computing, the shared services can be implemented in all three layers of infrastructure, platform, and software applications. The current popular effort of infrastructure consolidation, convergence, and virtualization are means to enable shared service in infrastructure layer, or named Infrastructure as a Service (IaaS).

4 comments:

Aldus Logan said...

Very nice post. You have shared really a useful information about cloud computing. I appreciate it. Thanks for sharing such article here.

Online Great Plains

Anonymous said...
This comment has been removed by the author.
Unknown said...

This sounds like a great plan. We have been recently looking for a cloud disaster recovery service for our business. We keep hearing of all these businesses losing their data because of a storm so we are trying to take the next step to hopefully not let that happen to us. Thanks so much for your post, it was very interesting to read.

mithra said...


My cousin recommended this blog and she was totally right keep up the fantastic work!
Cloud Consulting Services