Application virtualization or what?

Application virtualization or what?

Summary: In the past few weeks, I've spoken with representatives of JBoss and TIBCO.


In the past few weeks, I've spoken with representatives of JBoss and TIBCO. Both of these companies are proponents of the idea that Web-based applications are best built using an application framework that does a number of things for the developer including the following:

  • Isolate the application from the underlying systems to improve reliability and availability
  • Allow an application to call on services that might be located on one or more different physical or virtual machines as if they were local resources
  • Isolate the application from different types of data sources so data can be processed in a uniform way

Both of these companies share some common attributes including the points that both have developed quite a strong following, both are heavily oriented towards supporting standards and both are pragmatically targeting real-world problems IT professionals face daily.

Notion of application virtualization

In the past, I've presented application virtualization as technology that encapsulates an application or stands between an application and the underlying environment to provide enhanced capabilities including:

  • platform neutrality
  • increased levels of performance through parallelism
  • increased levels of reliability/availability by allowing functions to fail over from one system to another
  • increased levels of scalability by presenting a large workload to a number of instances of the application
  • enhanced application mobility by delivering an encapsulated application to a remote device either by streaming it down to the device, allowing a simple file copy to the device or some other approach to application migration
  • allowing a monolythic application to automatically be treated as a multi-tier application by forcing user interface, application processing, data management and storage management functions of an application to run on separate systems (without also requiring the application to be re-architected

This is one of the layers of the Kusnetzky Group Model of virtualization software. Sorting out the different layers of virtualization is a post offering an overview of the model.

May I have the envelope please

The key question is "should tools supporting service oriented architecture (SOA) applications be considered a form of application virtualization? If you believe this technology either should or shouldn't be categorized in this fashion please tell me why you hold that belief.

Topics: Apps, CXO, Hardware, Storage, Virtualization


Daniel Kusnetzky, a reformed software engineer and product manager, founded Kusnetzky Group LLC in 2006. He's literally written the book on virtualization and often comments on cloud computing, mobility and systems software. In his spare time, he's also the managing partner of Lux Sonus LLC, an investment firm.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • application (service) virtualization

    I'm pretty sure that when you tally the votes you'll find overwhelming support for SOA as application virtualization.

    The benefits of decoupling the application from "where" it executes are equally realized by application, or component, services.

    You've mentioned some of the key benefits: scalability, increased performance, and availability/reliability.

    Another very important benefit is the ability to intelligently allocate those execution resources to those services based on business policies. These policies allow organizations to define the relative importance of a service or service consumer and allocate the requisite resources to ensure consistent quality of service fulfillment.

  • RE: Application virtualization or what?

    Actually I think there another, more substantial reason for application virtualization. By installing a single application in a vrtual stack, with all shared components in the virtual stack, you have dramatically reduced regression testing that may be required. This will speed the time between code release and actual use of custom software