Is SOA a form of application 'virtualization'? Or will the combination of virtualization and SOA result in an out-of-control 'Frankenstein'?
There's been plenty written lately about the intersection of service-oriented architecture and virtualization. SOA, of course, relates to abstracting application functionality into a service component layer, and virtualization pertains to abstracting servers, storage, and systems (especially hardware) into a service layer.'I can see SOA and virtualization - brilliant, simple technologies - pairing to devolve into an enterprise Frankenstein of ultimately unmanageable complexity'
But aren't they essentially the same thing, but addressing different types of technology resources? Is "virtualizing" applications just the next logical step after virtualizing hardware and systems? Martin MC Brown said as much in a post earlier this year, that "SOA itself is a bit like virtualization, but instead of placing multiple, virtualized servers running single applications across a server farm, you spread components of your application across a number of servers."
Butler Group has just issued some research that also discusses the convergence of SOA and virtualization (but keeps the two concepts separated). The analyst firm found in a survey that 69% of companies have put into place or have piloted virtualization solutions against their servers and other infrastructure components, while only eight percent have working SOAs in place.
However, the report notes, while many organizations are moving to server and storage virtualization to abstract those resources, but the real value comes from abstracting software through SOA:
"The use of server and storage virtualization technology is bringing significant benefits, including the creation of a more flexible pool of IT resources better able to support consolidation and optimization strategies, along with improved workload management, and much better utilization of hardware. This will become a key element of infrastructure flexibility that will see rapid growth over the next two years. The move towards a SOA is a key element of software flexibility, and will fundamentally change the way in which software applications are designed, developed, and deployed."
Udi Paret, a Silicon Valley enterprise software executive, said perhaps more SOA-style thinking is needed to extract more value from system virtualization. Speaking at the Dow Jones Datacenter Ventures conference held recently in San Jose, he observed that "the recent shift towards virtualization – virtual servers, virtual networks and virtualized storage – is only compounding the problem [of data center sprawl]. ...the total number of entities to be managed continues to skyrocket. The focus is simply too tactical; the level of abstraction is too low."
Paret urges a shift to what he calls "service-oriented infrastructure," which "operating system for data centers" that "can automatically reallocate hardware, software, systems, connections, etc., in terms of high-level, service-driven objectives, as business conditions change, or response to problems or catastrophes, to keep service at guaranteed levels."
Not everyone is happy with such a convergence, however. There are complications that could arise along the converging path of virtualization and SOA, however. Last year, Tom Yager discussed a concept he branded "virtualization oriented architecture," which pulls the nitty-gritty of data center management together with SOA principles, and issued this warning:
"Robust storage virtualization is an approachable, and I’d argue essential, goal today. Infrastructure virtualization -- such as a LAN that remakes itself without the need to pull wires, or power and cooling routing that focuses on need -- is realistically a next-horizon task. If we work together to put virtualized storage and infrastructure in sync with the trajectory of virtual systems, we’ll witness the birth of VOA (virtualization-oriented architecture) and the dying of reality as IT knows and despises it. VOA calls to mind the use of virtualization to make SOAs more durable, mobile, and versatile. I can see SOA and virtualization -- brilliant, simple technologies -- pairing to devolve into an enterprise Frankenstein of ultimately unmanageable complexity."
In addition, Brown observed that there are notable distinctions between hardware/system virtualization and SOA. Namely, that SOA is a much longer-term process than virtualization. "The downside to SOA - and the upside to virtualization - is that to achieve SOA you must alter and redevelop your application. For applications that you have developed in house this can be an easy, or hard, process that may take many months or years. With virtualization, you can take an already running application -- including those from third party suppliers which you cannot change) and run them, verbatim, in a virtualized environment."