Fast, Intelligent Streaming and other
Virtual Application Enhancements in
Novell ZENworks Application Virtualization 8
Written by Jason Blackett
Whether you want to eliminate application conflicts, deliver applications faster, reduce helpdesk calls, make your desktops more secure and manageable, control application deployment costs, or ensure user productivity, there are a lot of compelling reasons to take advantage of Novell ZENworks Application Virtualization. But if that wasn’t enough, this month’s release of ZENworks Application Virtualization 8 adds powerful new features to the equation.
Novell ZENworks Application Virtualization lets you quickly and easily convert Windows-compatible applications into self-contained virtual applications that can run in their own isolated environments (sandboxes) to eliminate software conflicts, OS dependencies and manual installation processes. Version 8 of the product builds on these capabilities with a new streaming feature and greater 64-bit support, so you can better leverage your infrastructure investments, more efficiently deliver virtualized applications to users and take advantage of the latest hardware improvements on the desktop.
With Novell ZENworks Application Virtualization 8, you can virtualize 64-bit applications, just as you could their 32-bit counterparts.
When Microsoft delivered 64-bit Windows for the desktop, it opened the door for the creation of higher-performing applications that can better meet the needs of power-hungry users. Now that more and more vendors have had the time to rewrite their applications to take advantage of 64-bit capabilities, the market is seeing a steady increase in the number of 64-bit applications available. With ZENworks Application Virtualization 8, you can virtualize 64-bit applications, just as you could their 32-bit counterparts.
While previous versions of ZENworks Application Virtualization let you package 32-bit applications for execution on 64-bit devices, they didn’t allow you to package 64-bit applications. Additionally, they didn’t let you create snapshot packages on 64-bit machines. ZENworks Application Virtualization 8 lets you virtualize 64-bit applications by taking a snapshot of their installation on a 64-bit Windows operating system and then building the application for virtual deployment. Once built, you can use your favorite software deployment tool to deliver it to any 64-bit Windows platform, where it will have full access to the operating system’s 64-bit capabilities.
In addition to support for 64-bit applications, ZENworks Application Virtualization 8 gives you greater control and flexibility in targeting the CPU type where you want your 32-bit virtual applications to run. This means you can build a virtual 32-bit application so it can only run on 32-bit machines, 64-bit machines or both CPU types. (See Figure 1.) This enables you to build virtualized applications that can take greater advantage of the native characteristics of the machines to which they will be deployed.
One of the most exciting new enhancements delivered in ZENworks Application Virtualization 8 is application streaming, which lets you rapidly and efficiently deliver your virtual applications through a Web browser or your existing software delivery service. With this function, you can place your virtual applications on network shares or Web sites, where they can be accessed for execution by your users. When the virtual application executes, the streaming capability enables the application to launch five to 20 times faster than it would otherwise.
Streaming in ZENworks Application Virtualization 8 uses a predictive algorithm to intelligently determine what pieces of the application the user will need for application launch—and then brings down only those pieces. The product then streams the other pieces of the application based upon the anticipated needs of the user. It can also dynamically adjust what is streamed based upon application use. Leveraging a tree model, this predictive streaming process in ZENworks Application Virtualization 8 prevents the significant latency that you find in other application virtualization solutions that use a page-call system for streaming.
Additionally, Novell has designed the streaming function in ZENworks Application Virtualization 8 so that it doesn’t require any additional infrastructure investments. You can use an existing Web server to stream your virtual applications, or place them on a Windows file share, NFS share or other client-accessible file share.
Streaming in Novell ZENworks Application Virtualization 8 also has a Register Local mode that allows the streamed application to persist on a user's client device even after it's been shut down. This allows the user to continue to access the application even when there is no longer an Internet connection, such as on an airplane.
One of the most exciting new enhancements delivered in Novell ZENworks Application Virtualization 8 is the ability to use streaming as a means to rapidly and efficiently deliver your virtual applications through a Web browser or your existing software delivery service.
Build It, Stream It
Building a virtual application that you want to stream requires the following four steps:
- Build the application
- Profile the application
- Build an application model to stream
- Publish the application
Step 1 - Build the Application
You use the packager application in ZENworks Application Virtualization 8 to build your virtual applications. This tool works similar to other applications that package software. It first takes a snapshot of what the machine looks like prior to executing the installer for the application to be packaged. After you install the application, the packager executes a process that compares the new state of the machine with the original state of the machine, and saves those changes. Finally, it allows you to modify the configuration of the application to meet your specific needs.
While you’re configuring the application, you need to make sure to have the Compress payload option unchecked to allow the profiling process to properly determine what files are being used by the user. (See Figure 1.) After you complete the application configuration, you can build the virtual executable. This creates a single .exe file that can be deployed to any device.
The packager application also provides the means to quickly inject common components such as the .NET Framework into your package. A variety of other commonly used applications are also available as pre-canned templates that can be built very quickly. All of these applications can be profiled and streamed.
Step 2 - Profile the Application
In order to leverage application streaming, you next need to profile the application. It’s best to involve a typical end user of the application during this process. The purpose of profiling is to “teach” the packager what files are going to be needed when the application is executed, as well as anticipate needs based upon changing user behavior.
To profile the virtual application, select the Advanced tab in the packager application and click the Profile button. After you specify a folder to hold the transcripts, the virtual application will execute. At this point, the application needs to be used just like it would normally be used by a typical end user. To facilitate this, you might find it helpful to deploy the packager application to an end user’s device. This allows you to start the profiling process on the end-user device and have the user use the application in a normal fashion. When the user is finished and has exited the application, a profile transcript will be created. This profile transcript will contain information about what portions of the virtual .exe file were used, as well as the order in which they were used while the application was running.
To optimize the streaming of your application, you should profile the application several times with the end user performing common tasks. The general rule is that the more times you profile the application, the better your application streaming experience will be. This is because the application stream model is built using the “learned” information contained in the profile transcripts generated by the profiling process.
Step 3 - Build an Application Model to Stream
After you have created one or more profile scripts, you can take those profile scripts from the end user’s machine and remove the packager. The packager is actually a virtual application itself, so, its removal requires nothing more than deleting the packager virtual application files and shortcuts. To build the application, transfer the profile transcripts to your packaging machine, open the application configuration in the packager, and then from within the Advanced tab select the network speed for which you want the stream to be optimized. (See Figure 2.) After selecting the network speed, click the Build Model button. You will then be prompted to enter the path to the profiling transcripts, as well as the path where you want to output the streaming model. The packager will then use the transcript information to build a folder structure that contains the files to stream.
Step 4 - Publish the Application
ZENworks Application Virtualization 8 also includes a command line application called ModelPlay that lets you launch streamed applications using traditional desktop management tools. For example, you can use ZENworks 10 Configuration Management or ZENworks 7 Desktop Management to create bundles or application objects that execute the ModelPlay application to launch a stream from either a UNC path or a URL where you stored the application model to be streamed. When the user double clicks on the application icon in the ZENworks Explorer or Application Launcher, it will stream the application to their machine, just as the Spoon plug-in can stream an application from a Web site.
Leveraging a tree model, this predictive streaming process in Novell ZENworks Application Virtualization 8 prevents the significant latency that you find in other application virtualization solutions that use a page-call system for streaming.
Using the streaming capabilities in Novell ZENworks Application Virtualization 8 can also simplify your application upgrade processes. It lets you centrally deploy your virtual application on the file share or a Web server from where it will be streamed, and then easily replace it with updated versions as needed.
You can also update or patch your virtual application model using the XLAYER capability in ZENworks Application Virtualization, which lets you use a virtual set of self-contained components to easily add new layers (including patches and updates) to your application. (See Treasure Island.) Whether you completely replace the virtual application or add updated layers to it, streaming lets you make the change once and then automatically apply those changes to all your users the next time they launch the application.
Virtual Test Drive
To test drive virtual application streaming and get a feel for the actual end-user experience, visit the Novell ZENworks Application Virtualization Streaming page. Using the Spoon plug-in, you can launch a variety of sample streamed applications. You can also visit the ZENworks Application Virtualization page to learn more about how ZENworks Application Virtualization 8 lets you create and stream both 32- and 64-bit virtual applications in a way that simplifies administration, increases user productivity and better leverages your existing infrastructure investments.