SOA and Virtualization
As I’ve been doing some traveling lately, I’ve been trying to catch up with some Podcasts. Dana Gardner of ZDNet and Interarbor Solutions has a new podcast entitled “BriefingsDirect SOA Insights Edition.” In this episode, Dana, Steve Garone, and Jon Collins discussed virtualization and SOA. It’s funny how every buzzword going on in IT these days is somehow being attached to SOA. I was a bit skeptical on the discussion when I saw the title, and in reality, the discussion was primarily on virtualization, and not as much on SOA.
Something that I didn’t feel came across clearly was that SOA creates a need for more efficient resource allocation. Interestingly, a lot of drive toward virtualization is based upon a need to get a handle on resource allocation. So, perhaps there is a connection between the two, after all. So why is resource allocation important? Well, let’s compare Web Services to Web Applications. The typical web application is deployed on an application server, perhaps in a cluster or on a redundant server. It may or may not share that server with other applications, if it does, the applications may compete for threads, or each application may have its own pool. The application server has some memory allocated to it, etc. The app gets deployed and then no one touches it. Unless this application is facing the internet, it’s unlikely that the loads for which it was initially configured will change dramatically. The line of business may add a few employees here or there, but that’s certainly not going to create enough additional load to crash the system.
Now let’s talk about Web Services. They, too, are deployed on an application server, potentially with other services, potentially with their own threads, some amount of memory, etc. Unlike the Web Application, 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. BEA just announced their WebLogic Server Virtual Edition, and their VP of WebLogic products, Guy Churchward, was quoted on ZDNet stating, “the setup will allow companies to create new instances of Java applications to meet spikes in demand in a few seconds, compared with 45 minutes, as is the case now.”
Some final thoughts on this: a good friend and former colleague of mine once described what we were doing as the virtual mainframe. In a recent conversation with a client, I also brought up the venerable mainframe. Does your enterprise currently have a highly complicated batch processing window? Have you ever researched what goes into the management of that process when something goes awry? A wily mainframe operator can do quite a bit to make sure that everything still manages to get done within the processing window. Now move to the world of SOA, with increased interdependencies between systems and real time processing. If we don’t give the operational staff the tools they need to efficiently manage those resources, we’ll be in an even bigger mess. Virtualization is one tool in that chest.
[…] Todd Biske posted an article on his blog that eloquently explains the need to scale services differently from web applications — the load characteristics are not the same. Todd refers to BEA WebLogic Server Virtual Edition as a tool that can help quickly bring up extra instances of services hosted in a traditional application server to meet load spikes, but ActiveMatrix Service Grid is an even better option. Last week TIBCO’s Matt Quinn talked about service virtualization at a Gartner event and specifically addressed the value in scaling services at the service level, rather than scaling an entire application server instance. ActiveMatrix Service Grid is the only product on the market today that allows you to do that. […]
Here’s a cross-posted comment I left on Rourke’s blog:
Thanks for your comments Rourke. Certainly, BEA isn’t the only vendor with SOA solutions that are now treating virtualization as a first-class concept, and Tibco’s Active Matrix is a good example. It’s very interesting observing the changes that are occurring in what I call the logic hosting space. While J2EE largely helped define the application server, that definition is fading away with a variety of tools taking its place with these just being a sampling.
SOA, Virtual Machines and Virtual Databases…
I was reading the latest post to Joe McKendrick’s Service-Oriented Architecture this morning, ‘IBM exec: no SOA-virtualization convergence, yet.’ It triggered something we’ve been kicking around here for some time – the idea of the virtual database…
[…] Early the week after launch, an article in Reg Developer took much closer look at ActiveMatrix and what it means to SOA developers. David Norfolk did a really great job explaining what makes ActiveMatrix new, valuable, and different. If you only follow two links, check out the Reg Developer piece and the Computer World article covered below. That same week, there was a bit of buzz in the blogosphere around service virtualization. Computer World kicked things off with a great article discussing what Delta is doing with TIBCO’s ActiveMatrix product — Delta is an early adopter of ActiveMatrix, using it as the heart of Delta Nervous System 2. Joe McKendrick, on the SOA in Action blog, made the connection between the concepts Delta was talking about and some of the scaling related concepts that Todd Biske had just blogged about. Over at ZDNet, Joe summed up the talk about service virtualization in his blog post. […]
I’m facinated by this concept of the coupling between software (especially web services) and infrastructure (including servers, networks and storage). In fact, Cassatt has done a tremendous amount of thinking around how Service Level Automation and service oriented infrastructure applies to web services, especially in the changing world of the software infrastructure used to host those services. (The hardware evolution is also facinating, but is tangental to the conversation here.)
Dynamically changing the number of physical, virtual or even application servers hosting the service certainly addresses the sticky performance issues surrounding web services, but it does nothing to address the *efficiency* issues, especially with regards to how resources can be pooled to meet the demand of a number of applications and services at the same time. Think “how can I deliver the required service levels for my applications and services using the minimum resources required to do so”.
This is what I am addressing on my blog. I hope you will check it out and comment at will on what you see there. I’m glad to see such interesting discussion about service oriented infrastructure. It is certainly a problem that will be addressed dramatically in the next 5-10 years.
[…] 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." […]
[…] SOA and Virtualization: This post from December 11, 2006 tried to give some ideas on where there was a connection between SOA and virtualization technologies. It’s surprising to me that this post is in the top 5, because you’d think the two would be an apples and oranges type of discussion. […]