"The world gets it now," said Jeff Jennings, vice president of desktop products and solutions for VMware Inc.
The "it" is virtualization, a technology VMware has pioneered since 1998.
Server virtualization separates the operating system from the underlying hardware, and now one of the next big waves for virtualization looks to be on the application front, according to industry observers and recent vendor activity.
Application virtualization separates the application from the underlying operating system, enabling organizations to more easily provision, deploy and update desktop environments. The end result is a better experience for application users, who encounter fewer conflicts and get the ability to access applications from wherever they are.
Virtualization not only provides a way to reduce server sprawl, saving energy and resources, but more important "it gives people wherever they are in the lifecycle a malleable environment in which to work," said Theresa Lanowitz, founder and CEO of analyst firm voke inc.
According to a June 2007 report from the 451 Group, "Virtualization has already transformed the data center and built one billion-dollar business, the extraordinary VMware … desktops and applications will be next to experience a wave of benefits from adding an extra layer of abstraction to the software infrastructure around them."
Rachel Chalmers, the lead analyst of the report, said hypervisors -- or virtual machine monitors (VMMs) -- are now "commoditized or on the way to being commoditized."
"[Vendors] are now realizing they can provide value further up the stack, at the developer level, at the test level," Chalmers said. "Organizations want options for adding virtualization at each layer. It becomes clear that having lots of vantage points is better than a few; that's why the big [vendors] are building out their portfolios."
Indeed, from April 2005 to April 2007, the 451 group tracked $1.5 billion in merger and acquisition activity in the virtualization market. Among the activity, VMware acquired workspace virtualization vendor Propero; Symantec acquired application virtualization vendor Altiris; Citrix acquired application isolation vendor Ardence; and Microsoft acquired application streaming vendor Softricity. And this January, VMware announced an agreement to acquire application virtualization software company Thinstall to expand its desktop virtualization capabilities.
Chalmers details in her report six techniques for desktop/application virtualization:
- Desktop virtualization -- A VMM runs on a physical desktop machine.
- Server-side workspace virtualization -- This replaces server-based computing with centrally managed PC images.
- Client-side workspace virtualization -- This centrally manages PC images that execute securely on virtualized desktops.
- Application isolation -- Encapsulated applications are packaged with their own registries, file systems and libraries, and execute on the desktop.
- Application streaming -- Application packages are also isolated, but the packages are streamed to the desktop so users can start working before the application is fully downloaded.
- Virtual appliances -- Applications are wrapped in an operating system and virtual machine.
Desktop and workspace virtualization decouple the operating system from the hardware, while application streaming and isolation separate the application from the operating system, Chalmers explained.
"The desire to decouple applications from the operating system is nothing new," said Scott Jones, product manager at Symantec Corp. "The difference is, most previous approaches required a different architecture for the applications. What we've observed is some application types are easily webified; some are not. Application virtualization says that for the stuff that can't or hasn't been taken to the Web, now we can give you the same benefits of making it available anywhere on demand, without the dependencies preinstalled on the machine."
Many of the application virtualization solutions are designed to address what has come to be known as "DLL hell" -- conflicts that arise among dynamic link libraries (DLL) in Microsoft Windows operating systems after many applications are installed -- or just "dependency hell" for conflicts on any platform.
"Imagine if you could run applications without installing them," said Coby Gurr, business line manager for system management products at LANDesk Software in South Jordan, Utah. "Typically an application puts things in the system directory and then there are registry keys here, and eventually operating systems get polluted. With application updates, you run into DLL hell."
The value proposition of containing or abstracting the application, said Symantec's Jones, "is you don't have to be concerned with what preexisting stuff might be on the machine, whether your application will function correctly, whether it will break something."
In addition, Jones said delivery is more reliable. "With the more traditional installation process, you may have reboots, you stop what you're doing, you're creating a risk of failure or destabilizing a machine -- that goes away."
Maintenance is also a benefit, he added. "You have the ability to always go back to the baseline; you know the good state of the application," he said.
Gurr credits Microsoft with validating the application virtualization market with its acquisition of Softricity and the SoftGrid product, now called Microsoft Application Virtualization 4.5. The introduction of Vista has added "fuel to fire" of application virtualization, he said.
"The biggest driver is customers are looking for compatibility with Vista," Gurr said. "A close second is [to avoid] conflicting applications and to reduce regression testing. Suddenly lots of companies are asking, 'Do I update or make it [Vista] compatible?' They could run a virtual PC or application virtualization as a thinner, cleaner away of getting it done."
According to Gurr, LANDesk Application Virtualization isolates applications by packaging them with a mini operating system and a virtual registry and file system. He said it requires no installation and no agent. "I can put it on a USB drive, hand it to you, and you'd have application virtualization," he said.
VMware's Thinstall also takes an agent-less approach, according to Jennings.
"Thinstill takes the application and separates it from the OS, puts a wrapper around it, and once it's packaged you can move it between different platforms and operating systems," he said. "You can get the application without doing an installation routine, you can eliminate conflicts, you can have IE 5, 6, 7 all side by side. If you're in QA, you can run three instances of IE without conflict."
Symantec's Altiris Software Virtualization Solution (SVS) takes a different approach, according to Jones, and utilizes technology from the FSLogic acquisition.
"We can extract files and registry keys for the application and give you the benefits of application virtualization, but we actually use the native Windows execution environment, and the applications will behave as the developer intended," he said.
Jones contrasts this with approaches that include an execution environment.
"If you're shipping an execution environment that emulates Windows, you're now taking responsibility for maintaining this Windows emulation," he said. "Windows interfaces are constantly updated by Microsoft. More important from a customer perspective, if we make a Windows application run inside an alternate execution environment, we're fundamentally changing the behavior of that application and how users and management agents interact with that application."
The impact of application virtualization on performance is negligible, according to most observers.
"There is an inherent performance hit with any virtualization technology because there's an extra level [of abstraction]," Jones said. "But when you have your own execution environment, your potential for impact is much greater because you're intercepting every call. Even though the impact may be modest, it will be there. We minimize that. The only thing we intercept is the file system and registry calls."
VMware's Jennings said the wrapper Thinstall puts around the application "is about a megabyte of additional code." The impact comes when the wrapper starts to initialize, but he said, "everything thing I've seen, it's near native speed. The experience is akin to running any other application."
Gurr said the LANDesk approach "sees less than 3% overhead. Sometimes, the way you have a compression algorithm, some applications can load faster than if they're strewn over the place."
Chalmers added, "Once an application downloads it should run at near native speed, so encapsulation tends to be light. There can be performance overhead, but it's negligible."
Impact on developers
What impact, if any, will application virtualization have on the developer? Jones said developers can be a lot less concerned about the vast array of environments their product might be deployed into.
Developers, particularly software vendors, he said, "spend a lot of time understanding customized hardware. You have to build test cases for common implementation environments. If you have virtualized applications, you can significantly cut back on test cases. You also can leverage alternative delivery models without having to build alternative versions of the product."
Application virtualization "doesn't directly impact the developer, which is a powerful aspect," Jennings said. "It makes it easier to distribute and test. The other thing is, if you're the developer, and you have a bunch of applications that conflict, you can package them instead of changing the desktop."
Overall, he said, it can speed the process. The technology "will recognize if you change a DLL and automatically include it."
Jones said that typically internal developers will code a product, license lots of pieces from third parties, and end up with a complex implementation of the application.
"Typically developers don't have the bandwidth to build install packages, so they look to the corporate repackaging team," he said. "They say, 'Here's a working instance of the application. You get it packaged for delivery.' There's a natural contention between developers and packagers."
With application virtualization, "all developers have to do is get one working implementation of the application and put it in a virtualization software package. Now the packaging guys can just pass it through to the desktop," Jennings added.
Impact on testing
With application virtualization, testing becomes lot more important, Lanowitz said.
"Now, if you're in a virtualized environment, how do you keep track of the applications?" she said. "How do you know if it runs in a virtualized multicore environment? What does that do to the performance of the application? If there are multiple instantiations of a virtual application, and one shows a defect, will it show up in others? How do you patch that defect on a master copy and get it out?"
On the other hand, application virtualization can reduce regression testing, but it won't eliminate it altogether, Lanowitz said.
Virtualization can improve the efficiency and performance of QA, with offerings such as VMware Lab Manager and Surgient Virtual QA/Test Lab Management System (VQMS), she said.
With a traditional environment, "the tester spends time getting machines and labs set up, and there is a lot of back and forth between development, QA and operation. In a virtual environment, that goes away," Lanowitz said. According to a voke study, project costs can be lowered by 50%.
On the path to application virtualization
Application virtualization is clearly a target of the major players. Citrix Systems, for example, recently announced that it was renaming its flagship product, Presentation Server, to XenApp. (Citrix completed its acquisition of virtualization vendor XenSource last October.)
"Presentation Server is a proven virtualization platform for delivering applications. Application virtualization means client side and server side. The [Presentation Server] name was not representative of the full value," said Bill Hartwick, senior director of product marketing for the Virtualization Systems Group.
"Citrix defined the early definition of application virtualization -- running applications on servers and delivering over remote terminals. It evolved to client-side virtualization -- applications delivered to the desktop," said Phil Montgomery, senior director of product marketing for Citrix XenServer. "We firmly believe in the application virtualization market -- more people are driving toward this."
Application virtualization, in all its forms, is definitely happening, Lanowitz said. "You will see it coupled with the advent of true multicore platforms."
However, Lanowitz added, "I don't want to paint virtualization as a great panacea. There will be new problems. Can security handle this? How do we track and manage virtual machines? There's a lot of opportunity for software vendors to come up with virtualization solutions."