There's been a lot of talk about what SOA could do for cloud computing, but ZapThink's Ronald Schmelzer recently flipped the equation, pondering what cloud computing can do for SOA.
Schmelzer's conclusion: Cloud computing could finally help everyone understand that SOA is not just standards-based integration by taking ESBs out of the equation and pushing companies toward virtualization of services, which in turn will require thinking more abstractly about services:
This brings us to probably the biggest benefit of this whole cloud computing hoopla-a change in the way we think about Services. ... for those that have equated SOA with Web Services and ESB, they might see this looming cloud computing movement as the next iteration of their SOA efforts. For these readers, we would say, 'finally!'
Of course, these things are never simple. Schmelzer's piece points out all the pros to cloud computing and SOA, but it's actually part two of a conversation began by Schmelzer's colleague, Jason Bloomberg. In part I, Bloomberg lists all the problems with cloud computing, paying particular attention to how SOA fits into the equation. Bloomberg writes that, while theoretically virtualization and SOA fit together nicely, in practice, they're separated by political structure:
"In practice, however, the people involved in the virtualization efforts and the SOA team are usually different people addressing different issues. We meet with architects involved with their organization's SOA efforts all the time, but very rarely are these the same architects who are working on their virtualization efforts. That's not to say such virtualization efforts aren't taking place; the problem is, they're manned by a different team, generally with different priorities.
The two articles were written as a sort of point/counterpoint and work well together, with Schmelzer's piece giving the more positive implications for cloud computing and SOA, while Bloomberg tries to deflate some of the hype around cloud computing.
I was particularly interested in reading what Bloomberg says about the promise of "internal cloud" as a way of doing SOA. Bloomberg points out that vendors like this idea because it's got cash cow written all over it, but in practice, it's probably a really bad option since "existing enterprise environments are far too complex and heterogeneous to support such clouds."
I wonder how that same heterogeneous complexity will impact a company's ability to offer its own services in the cloud. In a previous post, I theorized that perhaps service-enabling your processes and moving to the cloud could be a possible revenue stream-or, at least, a way to recoup some of your SOA deployment costs.
Bloomberg didn't address the issue, but ZDNet's Joe McKendrick did recently. He thought the idea had merit, but, alas, it turns out most companies just aren't that interested. Brenda Michelson, a principal with the consulting practice Elemental Links, has discussed the idea during an SOA Executive Summit roundtable and found most organizations see providing IT services as straying too far from their core business. That said, Michelson also noted that if the opportunity presented itself, then companies would pursue the idea-assuming it didn't create undo troubles for them.
Ultimately, that may be the key to cloud computing's success or failure: How much trouble will it either resolve or create? Until recently, the focus has been on cloud's value proposition. But there's still the flip side: Is it secure? Is it reliable?
Bloomberg calls this the trust issue, and it's a core issue cloud vendors just aren't addressing, according to this Australian Computerworld article. Computerworld covered a cloud computing summit in Sydney, where IDC Associate Director of Consulting Linus Lai discussed the new security problems associated with cloud computing:
I challenge you today: if you ask any of the cloud service providers what their absolute limit of capacity is-and when are their services going to break-they are not going to tell you. ... [Providers] will say their services is infinitely scalable. The allure of cloud computing is based on that illusion of the ability to infinitely scale. This is very different from the model of today which is based on capacity.
Lai also mentioned interoperability, the potential for lock-in and integration problems -- a point made here before -- as issues you should consider.
Cloud computing has a lot of promise, but my guess is you can't afford to focus on the pros without looking at the cons. Is it reliable? Is it secure? A "no" on either of these questions could cause lots of trouble for organizations, and that's a big basket of worry companies don't need right now.
Still, even if you reject cloud computing, don't ignore what it can teach you. As Schmelzer writes:
"There are some aspects of cloud computing that positively inform SOA and vice-versa, and allow us to shift the conversation of SOA beyond what many still consider to be standards-based integration."
Even I would be ready for that eventuality.