Wednesday, January 14, 2009

imho SOA DOA? No way!


In the crowded marketplace of ideas, everybody’s always trying to differentiate themselves. Declaring something “dead,” “obsolete,” “outmoded,” “tired,” “passe,” or “so last year” is such a clichéd look-at-me technique that I tend not to give too much credence. Yeah, I, like other analysts, am inclined to do it now and then, but you should interpret this sort of pronouncement as just part of the news cycle. The usual coarse or fine grains of salt.

That said, my take on this. First off, I define service-oriented architecture (SOA) as an architectural paradigm: one that focuses on maximizing the sharing, reuse, and interoperability of corporate resources over distributed fabrics. In other words, it refers to an approach with a clear set of goals in efficiency, standardization, cost control, agility, and so forth. That paradigm and those goals/benefits are certainly not dead. Perhaps what is dead is the notion that this utopia can be realized purely over a Web services environment built purely on XML, SOAP, WSDL, WS-*, etc. Clearly, cloud computing, virtualization, Web 2.0, mashups, REST, social networking, and so forth show that a great many services—in fact, most new services—are not riding an “ESB” built on those interfaces and standards.

Just as important, life-cycle SOA governance—aka “service governance”--as a set of emerging best practices, is certainly not dead. In fact, it’s more relevant than ever, though few enterprises have mastered it throughout the service life cycle (design time, runtime, etc) and across all platforms, apps, and services. Moreover, service governance is getting much more challenging in a cloud-oriented environment, where literally EVERYTHING—from app components down through integration and hardware infrastructure (CPU, storage, etc.) is a service, or potentially. And, as more enterprise app/integration/hardware services are outsourced to public clouds, governance will get ever trickier, both in terms of negotiating service contracts and setting up the requisite public/private service-federation relationships and infrastructure.

Service governance in the cloud is a terra incognita. The cloud providers, cloud management tool providers, and their customers are all groping for a common set of approaches, and, to some degree, trying to square it all with established SOA governance best practices. But how do you wrap controls around the every atom in the billowing universe? Can we think--and tailor our governance--around that many dimensions without exploding from the sheer nebulous complexity of it all.

In every era, I’m tracking what’s being born, not what’s on its last legs. Our architectural orientation toward services is what SOA begot, and has bequeathed to this new age of the cloud.