Yesterday, I noted that there isn't a whole lot of regular discussion about SaaS and integration.
There are, however, plenty of articles and posts about SaaS and SOA, as well as SOA and cloud computing.
(For those of you unclear on the difference between SaaS and cloud computing, as I understand it, in SaaS, you're essentially purchasing a software-type solution, whereas cloud computing extends the model to include what are traditionally hardware functions, such as storage and processing power.)
I do find myself wondering whether all this chatter about the SOA/SaaS/cloud connection is just an academic exercise. Do SOA pundits truly see SOA as relevant to SaaS and cloud computing-or is this just a way to revitalize interest in SOA, which is definitely on the down side of the hype cycle?
David Linthicum, a well-known SOA expert and blogger, explained the relationship between cloud computing and SOA this way: SOA is an architectural pattern, while cloud computing is "a set of enabling technologies as a potential target platform or technological approach for that architecture."
In other words, SOA and cloud computing are complementary, not competitive. Or, to use a very tarnished management term, there's synergy between SOA and cloud computing.
Linthicum says if you want to "create a healthy architecture leveraging cloud computing providers," you're going to need SOA. In particular, he identified three ways SOA supports cloud computing:
- You can move services around as needed-including to a cloud server-to address pressing business needs. So, for instance, if you need to run an unusually large process and your server can't accommodate it, then you can easily move it to the cloud and rent processing power on an as-needed basis.
- You can take advantage of virtualization or, as Linthicum explains, address "core applications as logical instances that may run on any number of physical server instances, providing better resource utilization, and scalability."
- You can create mashups or on-the-fly composite apps with services and tap the cloud's computing power. Linthicum notes: "The use of cloud computing provides even more value since we're doing this using more cost-effective computing platforms."
As for SaaS, the consensus is that SOA will support SaaS in two ways:
- By giving companies an edge in adopting and deploying services from the cloud as a means of saving money and possibly making money. If you've already service-enabled business processes, it should theoretically be easier to connect those services to cloud offerings. That's great for cost savings, but, as I've pointed out before, why can't companies use this for generating revenue? If Microsoft can deploy and sell services via the cloud, why not you?
- By providing practice for the cloud. Of course, this point is tangential to the point above. Tim Hall, director of SOA products for Hewlett-Packard's software group, told InfoWorld that SOA raises a number of well-documented issues for companies deploying services internally. When you move to the cloud, those challenges are only exacerbated, according to Hall. So, for instance, if you've done SOA, you'll know what sort of governance and processes you'll need to bring into play by moving to the cloud.
This last point gives me serious pause. It's not exactly encouraging to think cloud adoption will make SOA look like a cake walk.
Still, if you've invested in SOA, it's no doubt comforting to know you may have found one more way for it to pay off.
If you're intrigued by the topic and would like to read more, check out this TechTarget Q&A with JP Morgenthal, a partner at Ideasphere Consulting and the Tech Evangelist blogger. Morgenthal offers a slightly different take on the SOA/SaaS/cloud connection. He differentiates between enterprise SOA, infrastructure SOA, and application SOA, contending that the cloud is an example of infrastructure SOA:
"Well, if you look at it one way, the cloud is an instance of an SOA architecture. That makes a lot of sense if you look at things architecturally. Everything is being offered as a service, so it meets the criteria to be a service-oriented architecture."