The benefits of software virtualisation

Speak to most IT marketing professionals, and they will try and convince you that virtualisation is a new phenomenon. In truth, the concept of running one program inside another has been around for years.

Ten years ago, Sun popularised the notion of virtualisation with Java. The system's innate portability was due to a virtual machine that created a sandbox for secure applets. IBM has also used a hardware abstraction layer to separate applications from the underlying systems in its enterprise machines.

Today, the concept of virtualisation has evolved. Companies like VMWare and Xen have promoted the notion of running a whole operating system, either on top of another, or atop a hardware-based Hypervisor. However, some companies are now preaching application virtualisation, in which software applications are insulated from the underlying operating system using an insulating layer. The layer protects the application from the registry, causing system alterations to be written to an alternative store, so that the underlying operating system remains unchanged.

Differentiating virtualisation

Why would an IT department want to deploy applications in this way? Lower support and maintenance costs are the obvious answer. "People mostly use imaging tools or [Microsoft's] Systems Management Server to deploy operating system images that include applications," says Scott Reynolds, a consultant at IT consultancy Morse, describing the traditional way of rolling out corporate software. "If that's your mechanism, then every time you have to update an application, it creates additional workload and increases the load on the network."

"An organisation will go through a testing phase where they test all of their applications alongside each other, for conflicts. The largest organisations have more applications, and multiple versions thereof. If you can choose your testing timeframe or even eliminate it entirely, then that is something that application virtualisation will bring you."

It becomes possible with some systems for IT departments to install and uninstall applications more easily, often with a single click, or even for an employee to run an application or server from a USB key on a different machine.

Creating a self-contained software environment

Even Microsoft is now using elements of application virtualisation within the Vista operating system. Under its User Account Control regime, users are encouraged to run programs under standard accounts, to restrict privileges. Many software applications are designed to run in privileged mode, especially for activities like changing the registry. The system uses a virtual registry to enable applications to run in a less privileged mode.

Different vendors will define application virtualisation differently, according to their products' characteristics. Ardence, for example, argues that virtualisation can include application streaming. Its Software Streaming Platform product is designed to reset the BIOS of a system to boot an operating system from the network drive, essentially running any operating system on the 'bare metal', caching nothing locally on the PC but downloading operating system and application code for local execution. It differs from products like Citrix's Metaframe in this regard because it is locally executing code, rather than simply executing it on a server and streaming a screen image to the client.

Jeff Hibbard, vice president of marketing for Ardence, argues that the company is virtualising both the operating system and the applications running on it. But this system doesn't inherently provide what many experts such as Gartner vice president Brian Gammage consider to be virtualisation's core characteristic: isolation.

Application isolation involves taking an application and wrapping it in a virtual software layer to shield it from the operating system. "The intelligent thing is that it convinces each application that it is the only application," explains Morse's Reynolds.

Technology from another application virtualisation firm, Thinstall, packages an application into a single .exe file that includes a software 'wrapper adding an additional 300Kb of hard drive space (and 1Mb of RAM during execution) to the application's disk footprint. The wrapper replaces the Windows loader, and streams the application's code into the local PC's memory from wherever the .exe file is stored (say, on a network drive or a USB key). The wrapper then acts as a virtual sandbox for the application, using a virtualized file system and registry for data storage and configuration. Thinstall's software runs all applications in standard user account mode, explains CTO, president and founder Jonathan Clark, which means that it couldn't write directly to the Windows registry even if it wanted to.

That brings deployment and management benefits but it also creates challenges. Applications requiring device drivers, for example, are currently difficult if not impossible to virtualise using Thinstall. "We don't support applications that have device drivers right now. They would include things like antivirus products and personal firewalls," says Clark.

The pros and cons of virtualisation

The firm was originally going to merge the code base for Protect, a software product providing total state management, with the code base for SVS this summer. Protect monitors everything the user does at the file level, enabling them to preserve all operating system activity such as downloading and installing an application, and store the condition of the operating system in relation to a default baseline configuration. Merging those two code bases is taking longer than they expected, but the telling point is that the ability to virtualise operating system patches was also to be included in the SVS product by the end of this year, say executives. Now, that too has been pushed back until the release of the merged code base, codenamed Lightning, next summer.

Softricity also uses both isolation and streaming. The company's Softgrid technology holds application files on the server, again packaged with an isolating layer using a sequencing system that readies existing software for virtualisation. The applications are isolated from the operating system, but unlike Thinstall's system, there is a server software component to Softgrid. Packaged applications are held on a central server, and when an application is selected, the server software streams just the components necessary to meet the users' immediate needs. Components of the software are cached locally on the target machine, meaning that when the user boots up next time, there will be less of a wait to start using the software.

"If you have Powerpoint in your machine and you double clicked on it, only 15-20% of it goes into memory. So with streaming, it's similar. As you use more of the application, more comes down and is cached locally.", says David Greschler, director of Microsoft SoftGrid marketing.

Softricity has one big advantage over its competitors: Microsoft. The company was already able to tie its software closely into Microsoft's Systems Management Server (SMS) application distribution and management product, enabling the use of virtualised applications to be tightly controlled by the management software. Microsoft has now bought Softricity, which according to Greschler means that Softgrid will now be available as a module of System s Management Server, which Microsoft is rebranding under its new System Centre label.

Softricity also received a pricing boost when Microsoft purchased it. It plummeted from $200 per seat to just $30. That's a sign of the product's strategic importance to customers, suggest analysts. "Microsoft is about to release a new operating system and wants to see as many organisations migrating to that as possible," points out Gartner's Gammage. "They're using machine-level virtualisation as a lubricant for applications not ready to migrate. But there are other applications that might create application conflicts. For those, this application virtualisation approach with a single container for each will provide a ready solution."

New entrants to the virtual market

Packaging these applications (also called 'sequencing') generally involves running the application through a sequencing program. In Thinstall's case, for example, the sequencing system examines an installed application configured to the user's requirements and then takes a snapshot of the registry and file system, says Clark.

Application virtualisation is not yet as established as operating system virtualisation. The latter gained its foothold on the server, where it is being used to maximize the use of CPU cycles, but has in some cases made its way to the client, where people are using it to run multiple operating systems on the same box. The former is gaining ground on the client side, where companies are hoping that it will help to minimize testing, deployment, and maintenance costs, but it has already found some success on the server, where it can be used to reduce application conflicts (Citrix's Presentation Server already uses server-side application virtualisation, for example). It all lends credence to the virtualisation concept as a whole, and as Microsoft puts it weight behind it, the concept can only continue to gain mindshare.

Danny Bradbury

Danny Bradbury has been a print journalist specialising in technology since 1989 and a freelance writer since 1994. He has written for national publications on both sides of the Atlantic and has won awards for his investigative cybersecurity journalism work and his arts and culture writing. 

Danny writes about many different technology issues for audiences ranging from consumers through to software developers and CIOs. He also ghostwrites articles for many C-suite business executives in the technology sector and has worked as a presenter for multiple webinars and podcasts.