views:

468

answers:

2

Some of the SOA foundations are:

  • Loosely Coupled
  • Reusability
  • Stateless Services
  • Formal contracts between Services
  • Coarse Granularity
  • Asynchrony
  • Abstract Underlying logic (black box)
  • Composable (services as building blocks)
  • Discoverable services
  • Autonomous services


Most of them could be applied to Cloud Computing, so my question is Cloud Computing a product of SOA thinking or these are two different monsters?

+4  A: 

Cloud Computing and SOA are both loosely-defined terms, and as you note there's a lot of overlap. However, I think that reasonable definitions for each would include features that don't intersect with the other. For example, I see no reason why a SOA application can't be provided on a single, earth-based (i.e., not Cloud :-) server. Conversely, network storage architectures may or may not use SOA under the hood, but they would not be the first thing that comes to mind when SOA is discussed.

Dan Breslau
+7  A: 

Cloud computing is more based on IAAS (I)nfrastructure (A)s (A) Service with the underlying virtualization technologies abstracted to the point where the end user does not notice them.

IAAS may, or may not implement everything that you'd find in SOA. It may, for instance expect the deployed applications to handle their own interconnect needs. IAAS cares only that global quotas are enforced and that hardware remains available and accurately metered (a lot like electricity is metered).

So, cloud computing is more or less a marketing buzzword for IAAS.

A wise person once said, "If you can't explain what something is or does in one or two sentences, you have a problem" , this illustrates the point that nobody (including IBM) has come up with a suitable definition for 'cloud computing' that differs noticeably from what IAAS implies.

Meanwhile, feel free to profit from the ambiguity while you still can :)

Tim Post