Great question! I think cloud computing is really an enabler for SOA. After all, SOA is about building reusable services that can be deployed within a distributed fashion, and a cloud represents a great choice for doing that. In my book, I describe how Apache Synapse can be used as a service mediator to really provide endpoint transparency as to where the service actually resides. In other words, using something like WS-Addressing, the client can send a service request, which Synapse fields and then forwards to the actual endpoint location where the service resides, which could be anywhere in the cloud.
I'm a huge fan (and user for many years) of the cloud work being done by Amazon, and have been playing recently with the interesting work being done on the Eucalyptus project (http://www.eucalyptus.com/), which provides the ability for private clouds following the same API-style interface that Amazon uses.