- How Things Got Off Track
- SOA to the Rescue?
- What the Heck Is SOA, and Why Should I Care?
- SOA Meets Cloud Computing
- Defining Cloud Computing
- The Components of Cloud Computing
- The Dream Team of Cloud Computing and SOA
- What SOA Can Learn from Cloud Computing
- What Cloud Computing Can Learn from SOA
- Making the Leap
- Being Positively Disruptive
What SOA Can Learn from Cloud Computing
Service Design
Those who deploy services in the cloud, such as Amazon, Force.com, and others, have done a pretty good job with service design. You really must do a good job to rent the darn things out. Many SOA projects have a tendency to build in services that are too course-grained, too fine-grained, or just not at all well designed. We discuss this issue in more detail later in the book when we talk about service design and modeling for our SOA using cloud computing.
In reality, unless services are not well defined and well designed, they will not sell well when delivered on demand. Those who provide services out of the cloud—which are most major cloud computing providers—therefore must spend a lot of time on the design of the services, including usability and durability. We urge those who build services within their SOA, no matter the enabling technology and standards involved, to look at the existing services available for rent as good examples of how services should be designed, developed, and deployed.
Service Expandability
Cloud computing services are designed to expand as needed, and those who leverage cloud services do so because they can get the services on demand, when they need them. The ability to expand services within an SOA is typically a painful and expensive process.
The fact is that services designed and developed within enterprises typically are not designed to scale. Indeed, the core issues with SOA revolve around the fact that many within IT do not focus on scaling until it is too late and too difficult to fix. Cloud computing providers had to figure out scaling rather quickly.