What's the common ground between SOA and virtualization? Both SOA and virtualization deal with abstraction of resources from across the network, and offer technology neutral interfaces removed from the original system. Of course, virtualization these days is mainly about running different OSes within logical partitions on a machine, while SOA is mainly about standardized interfaces, composite applications, and shared services.
Lately, there's been a lot of discussion and new product announcements heralding the convergence of the two approaches. BEA, for example, just announced a version of its WebLogic application server (WebLogic Server Virtual Edition) that runs on a virtualized platform. This offering cuts out the OS layer, and to help in the drive toward data center consolidation.
Another integration vendor, Tibco, launched a platform that employs a "service container approach" to essentially function as an SOA virtualization platform. While some industry analysts worry that the SOA-virtualization combo introduces even more complexity on complexity, Tibco says the offering, called ActiveMatrix, helps reduce the complexity of SOA in terms of service governance and management. One Tibco executive said that "people have been trying to address SOA with the old technologies of either traditional middleware, integration middleware, or applications or app servers and it has introduced that level of complexity."
Tibco says software developers can write core business logic for an application and deploy that business logic as a "virtualized" service in a service machine, or container, which makes all other details configurable. Thus, developers can write just the business logic for an application and let the virtualization environment manage everything else, the company states.
I recently had the opportunity to talk with Matt Haynos, IBM's grid marketing and strategy program director, about the potential intersection between SOA and virtualization. Haynos said flat out that he doesn't see "SOA and virtualization converging. They're two very separate things."
While not converging, the two methodologies are similar, Haynos said. "The value propositions for why customers are looking at SOA for application architecture and business processes are almost exactly similar to what’s happening with virtualization -- breaking down silos, being able to quickly create applications. They’re complimentary and synergistic, but not converging."
Haynos adds that "a lot of the synergies and a lot of the benefits of infrastructure virtualization for SOA are delivered by complementary virtualization techniques to server and storage virtualization. They’re pretty important components of the data center makeup. But the extended notion of workload, application, and information virtualization are high level. When people think of virtualization, they're really talking about server virtualization most of the time. SOA doesn’t speak to an execution model or a process model."
Todd Biske also weighed in on the SOA-virtualization connection, saying there is a growing connection. He observes that SOA creates a need for more efficient resource allocation, which is what virtualization is all about:
With SOA and Web services, "it’s entirely possibly to have dramatic changes in load from when the Web Service is first deployed. As a new consumer comes on board, the load on the service can increase by tens of thousands of requests per day or more very easily. Furthermore, the usage patterns may be vary widely. One consumer may use the service every day, another consumer may use it once a month, but hammer it that day. All this poses a challenge for the operational staff to ensure the right amount of resources are available at the right time. The ease of virtualization can allow this to happen."