Application lifecycle management made simple with app virtualization

If application virtualization isn't already on your radar, it probably should be. Danielle and Nelson Ruest break down the basic components of app virtualization and explain how it can be used to simplify application lifecycle management.

Virtualization is taking over the datacenter at all levels. Organizations are greening their datacenters by transforming...

physical servers into virtual machines, but there is no better return on their investment than with application virtualization (AppV).

The reason is because applications, especially the ones that are distributed to PCs, represent the single biggest problem organizations must deal with. Application lifecycle management (ALM) is the most resource-intensive undertaking for many organizations, with issues such as conflict management, DLL hell, application patching, application deployment and remote installation among the chief concerns.

Preparing a simple application for deployment can take from one to 10 days, depending on its complexity. When you have more than 300 applications to manage, this takes considerable effort. What if you could just make it go away?

Well this is the promise of app virtualization. It captures the "running state" of an application, not its installation, and it's this running state that is delivered to the desktop, not a Windows Installer-based installation.

The components of application virtualization
What makes application virtualization tick? In a perfect world, your AppV implementation would include the following components:

  • Support for project-based packaging -- Preparing applications must still rely on proper quality assurance controls.
  • Application isolation or "sandboxing" -- Applications must not change the OS in any way.
  • Active Directory integration -- Applications should be assigned in a simple manner, and using Active Directory security groups is the simplest assignment method.
  • Windows version independence -- Virtualized applications should run on any OS and rely on the virtualization layer to manage the appropriate OS-specific translations.
  • Agent/agentless operation -- Virtualization engines come in two flavors, either with a pre-deployed agent or with an agent embedded in the virtualized application.
  • Support for streaming -- One of the core concepts of AppV is the ability to stream applications from a central point to each PC. Streaming sends enough data to start the application as early as possible and then sends the rest of the application content in the background.
  • Cache control -- Streamed applications are not installed, but are cached locally, providing a better model for mobile users than through Terminal Services.
  • License control -- By controlling the duration of the cache on each endpoint, you control the assignation of licenses to users.
  • Software as a Service (SaaS) -- You make on-demand software products available to anyone in your organization.
  • AppV file format -- Virtualized applications come in a variety of formats based on the virtualization tool they are created with. Ideally, they will be packaged in an open format that makes them easy to update and provides support for virus scans.
  • User profile handling -- While applications are virtualized, the data that users produce with them is not volatile. The application virtualization tool should provide full support for normal user profile management.

Overall, the application virtualization process should make it easier for desktop administrators to manage the application lifecycle while providing a transparent experience to end users. AppV is redesigning the application lifecycle management process (see Figure 1).

Figure 1

With AppV, the entire application lifecycle is simplified.

  1. First, you prepare the application for virtualization.
  2. Next, you move the newly virtualized application to a central repository. This repository is nothing more than a file share server.
  3. If you have remote sites, you replicate the repository to all remote sites where application deployment is required.
  4. Next, create a security group in Active Directory to assign the application.
  5. Because the application is assigned through Active Directory groups, you have complete license control at all times.
  6. The application is streamed to the appropriate desktop.
  7. The streamed application is stored in a local cache. Users can "take it away" with them when they need to.

That's it in a nutshell. No need for complex software deployment infrastructures or installation processes. And you don't need to concern yourself with heavily staffed help desks to support new application deployments. With so many benefits, application virtualization is definitely worth looking into.... it's worth its weight in gold in today's datacenter.

Want to learn more about the benefits of application virtualization? Check out this On Demand webcast with Nelson Ruest:

Application virtualization: Ending DLL hell once and for all


- Application lifecycle management made simple with app virtualization
- The problem with traditional application management practices
- Can admins rely on built-in Vista features for application support?
- Centralized app management in Windows Server 2008
- Combine app virtualization with streaming

Danielle Ruest and Nelson Ruest are IT professionals specializing in systems administration, migration planning, software management and architecture design. They have written several books and are currently working on the Definitive Guide to Vista Migration for Realtime Publishers as well as the Complete Reference to Windows Server Codenamed "Longhorn"  for McGraw-Hill Osborne. They have extensive experience in systems management and operating system migration projects. For more tips, write to them at [email protected].

Dig Deeper on Application virtualization and streaming