I keep hearing about application virtualization, especially with regard to
Software Assurance (SA) and Enterprise Agreements. What's application virtualization
and how does it relate to these licensing agreements?
Application virtualization lets you run applications locally on a computer without having to first install the actual application. Here's an outline of how application virtualization works.
On a special PC called the Application Sequencer, which is a clean OS build with no other applications installed, a special sequencing process monitors the installation of an application and tracks all changes made to the file system, registry, or services. It then writes this information to a single file data stream. The sequencer also executes the installed application to see which pieces of the data stream are needed to start the application.
A server is configured to place icons on the desktops, Start menus, or Quick Launch tool bars of application virtualization clients, which notifies the clients that a virtualized application is available.
If the user on the client machine clicks an icon that hasn't been clicked before, the application is streamed to the user's machine. Only the part of the stream that was marked as required to initiate the application (known as feature block 1) is sent and cached locally (so subsequent executions don't have to restream the data). This stream is then run inside a special environment known as the SystemGuard, which creates virtual file systems, registries, and other components, allowing the application to run without being installed, while protecting the underlying OS from any unwanted changes. However, you can save settings such as application configuration options, if so desired.
Why would you want this functionality? Imagine what you can do if applications execute in a contained, protected environment and don't interfere with each other. Compatibility problems vanish because applications don't know the other application is installed. Because compatibility problems are gone, developers can test applications much easier and faster, giving quicker time to market for new applications. And because applications aren't installed locally, the client machine is much cleaner and less likely to have problems.
So, what does this have to do with SA? Microsoft purchased Softricity, the maker of SoftGrid, which is the premier application virtualization tool. Instead of selling SoftGrid, Microsoft bundled it with three other products from companies Microsoft purchased and has made the bundle available as the Desktop Optimization Pack, which sells for $7 to $10 per desktop. That's very inexpensive considering that individually the products would cost hundreds of dollars. The catch is that only SA customers can buy the Desktop Optimization Pack, so essentially, Microsoft is using the pack as a way to get people to purchase SA.