Deploying Application Virtualization at Microsoft
Published: June 2010
The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.
At Microsoft, application provisioning and management is largely a decentralized process. Users rely on time-consuming self-service tasks to obtain, install, and manage software applications. Microsoft Application Virtualization (App-V) version 4.6 and Microsoft System Center Configuration Manager 2007 R2 SP2 are helping to address these issues and provide a more efficient solution for managing the application life cycle.
Products & Technologies
Article, 104KB, Microsoft Word file
Business and technical decision makers
Similar to many other large organizations, Microsoft has a diverse and decentralized approach to application deployment and management. Users can obtain software from a number of locations and install that software by using a variety of methods. Typically, the majority of the application life cycle is the user manually obtaining, installing, managing, and removing desktop applications. These manual processes often result in a large decrease in user productivity. To address this issue, Microsoft is pursuing the implementation of Microsoft Application Virtualization (App-V). App-V simplifies provisioning and deployment, and has the potential to reduce the costs of application packaging and compatibility testing. However, implementing App-V on a global scale at Microsoft requires careful consideration of infrastructure, deployment methods, and support for the latest hardware-system standards.
Identifying the Issues
Microsoft, as a globally dispersed software-development organization, has unique application provisioning, deployment, and management processes that many other organizations may not experience. Many Microsoft users manage their own application requirements, and Microsoft encourages users to install and work with ongoing development builds of the latest Microsoft product versions. This is known as "dogfooding."
Users obtain applications from a number of locations, including internal corporate Web sites, file shares, product-group team sites, and the Internet. Current installation methods do not provide restrictions on what users can install on their desktops, nor does Microsoft monitor how users acquire an application.
Current application provisioning and management processes potentially decrease user productivity, because individuals spend extensive time locating, installing, configuring, troubleshooting, and updating desktop applications and tools. Managing the content and availability for the various application repositories adds to overall software-deployment costs.
With traditional application-installation processes, it is challenging to convince standard users to "dogfood" new versions of applications. Typically, a user will install a beta version of a new application to replace the current production version of the same application. This can cause user-productivity issues when the beta application does not work as users expect or when it causes users to experience other unexpected application or operating system compatibility issues. One common method for addressing these challenges is to incorporate virtual machine technology by using Microsoft Virtual PC, Microsoft Virtual Server, or Hyper-V™ technology. However, the result is that individuals require multiple high-performance desktops and there is an increase in unmanaged virtual machines to accommodate dogfood requests. A decrease in volunteer participation for software beta-testing efforts is the result of these software-compatibility and hardware-requirement challenges.
Provisioning an application for deployment often is a timely and high-cost process as application packages are tested, repackaged, and retested multiple times to address application compatibility issues with corporate desktops. Additionally, because the Helpdesk must troubleshoot application installations that are running on many different desktop configuration scenarios, complexity and costs increase dramatically.
Identifying the Solution
To address these issues, Microsoft has identified Application Virtualization as a valid strategy to provide centralized application provisioning, deployment, and management.
App-V offers several benefits, including:
- Centralizing software distribution and management to a single supported tool.
- Reducing reliance on users to acquire and manage application installations.
- Reducing costs associated with application provisioning and compatibility testing.
- Reducing the number of devices and associated costs that users require to run isolated applications.
- Reducing Helpdesk impact for supporting and troubleshooting application-compatibility issues.
App-V 4.6, with the integration of System Center Configuration Manager 2007 R2 SP2infrastructure components, can contribute to a more efficient application management life cycle and scale virtual application deployment to a global audience.
Overview of the App-V 4.6 Solution
Application Virtualization 4.6 is available with the Microsoft Desktop Optimization Pack (MDOP) and Microsoft Application Virtualization for Terminal Services. App-V provides virtual applications to users either locally on a workstation or remotely via Terminal Services, without users having to perform a typical installation directly on the client. App V 4.6 does not modify a local system, but rather deploys a virtual application to a client, where it then loads the application into an isolated virtual environment. Depending on how the virtual application is packaged, the virtual environment may be isolated from other client applications, or it may be able to communicate with other virtual environments or interact with local applications.
The Microsoft Application Virtualization Sequencer performs package sequencing , which is the process of preparing an application to deploy and run in the App-V environment. The sequencing engineer, who often is the same individual who packages physical applications, uses the App-V sequencer to monitor and record a typical application installation. The sequencer analyzes the installation to determine specific operating system interactions and components that the application requires to run. The result is a package that can deploy to clients using several deployment options.
The sequencing engineer also determines how the virtual applications will interact with the local system, or with the system’s other physical or virtual applications. This task is known as dependency management and is an important part of helping ensure that virtual applications perform as users expect.
You can implement an App-V solution by using the following delivery models:
- App-V Full infrastructure
- App-V Stand-alone mode
- App-V integration with System Center Configuration Manager 2007 R2
App-V Full Infrastructure
The App-V Full infrastructure uses capabilities that are provided by server and client components. A sequenced application is imported into the Management Server, and then configured with appropriate publishing and usage settings. When an authorized user requests to start a published application, the application data streams on demand to the client through the RTSP/s, HTTP/s or via File Streaming protocols. For larger organizations that require scalability, App-V 4.6 has the Streaming Server, which integrates with a centralized Management Server or is deployed as an individual solution. The App-V Full infrastructure uses the following components:
- Microsoft Application Virtualization Sequencer
- Microsoft Application Virtualization Management Server
- Microsoft Application Virtualization Streaming Server (introduced in the version 4.5 release)
- Microsoft Application Virtualization Management Console
- Microsoft Application Virtualization Web Service and Data Store
- Microsoft Application Virtualization Client (32-bit support only)
App-V Stand-alone mode
App-V stand-alone mode is a solution ideal for low-bandwidth environments or environments with no connectivity to App-V Management or Streaming servers. A client can obtain a sequenced application package from a network share or from removable media, such as a DVD or universal serial bus (USB) flash drive. App-V stand-alone installs and loads applications from the local computer instead of streaming from an App-V server. The Stand-alone delivery option uses the following App-V infrastructure components:
- Microsoft Application Virtualization Sequencer
- Microsoft Application Virtualization Client (32-bit support only)
App-V Integration with System Center Configuration Manager 2007 R2
Configuration Manager 2007 R2 supports deployment and management of physical and virtual applications. Administrators import a sequenced package created by the App-V sequencer, into Configuration Manager and deploy it to clients by using a download and execute method or by a streaming-enabled distribution point that supports virtualized applications. Virtualized packages become just another application type within the Configuration Manager console, thereby having a negligible impact on existing administrative processes. The components that this implementation option uses include:
- Microsoft Application Virtualization Sequencer.
- Configuration Manager 2007 R2 infrastructure components (site server, management point, distribution points, Configuration Manager client).
- Microsoft Application Virtualization Client (32-bit support only).
Note: When designing an App-V solution, consider your scalability and feature requirements to effectively choose between these three options or integrate with other third-party software distribution systems. If you start with an App-V Full infrastructure scenario and decide to migrate to Configuration Manager 2007 R2, there are several issues to consider. For more information, refer to the "Lessons Learned" section of this article.
Implementing the Solution at Microsoft
Starting in February 2007, and continuing throughout 2008, Microsoft deployed the App-V solution during several proof-of-concept and pilot project phases. These phases were not a standard migration path for other organizations to emulate. Instead, the phases enabled Microsoft to validate App-V functionality and performance for both the Full App-V infrastructure scenario and an infrastructure model that included Configuration Manager 2007 R2.
Proof of Concept: SoftGrid 4.2
In February 2007, Microsoft began a six-month, proof-of-concept project by using Microsoft SoftGrid® version 4.2 technology, which was the name before the App-V 4.5 release-to-manufacturing (RTM) release. Microsoft had several goals for this implementation, including:
- Determine the processes and best practices for successful application sequencing.
- Verify the feature-readiness, functionality, and scalability of the Application Virtualization Management Server.
- Verify the performance of the Application Virtualization Client during application streaming and usage tasks.
- Document bug issues and submit design-change requests to include in the App-V 4.5 release.
Microsoft implemented the initial SoftGrid 4.2 concept phase to 300 self-host clients by using the Full infrastructure model. Microsoft sequenced and dynamically streamed approximately 12 applications, including Microsoft Visio®, Adobe Reader, and several internal productivity tools. Each application that the virtual environment published was configured with a corresponding Active Directory® directory services security group. Any user who was a member of an application security group would have access to the virtualized application from any client device containing the Application Virtualization Client component.
Pilot Phase 1: Migration to App-V 4.5
The version 4.5 release became available in September 2007, transitioning Microsoft from a proof-of-concept phase to a pilot-implementation phase. This phase featured additional goals, including:
- Migrate from the version 4.2 infrastructure to the version 4.5 release.
- Validate that the version 4.5 release did not require re-sequencing of previously sequenced applications.
- Increase the clients participating in the pilot.
Approximately 1,200 users received virtualized applications during the six-month App-V 4.5 pilot. Approximately 15 applications were streamed from an App-V Full infrastructure model.
Pilot Phase 2: Integration with Configuration Manager 2007 R2
The beta release of Configuration Manager 2007 R2 became available in February 2008, which provided several enhanced features, including virtual-application deployment. This integration offered Microsoft several benefits, including:
- A centralized management system based on familiar processes and tasks related to the Configuration Manager 2007 solution.
- No need to duplicate a full App-V infrastructure implementation, because the integration uses the Configuration Manager distribution mechanisms to deploy virtualized applications.
- The use of Hypertext Transfer Protocol (HTTP) instead of the traditional RTSP protocol, which provides more scalability and the potential for Internet-facing deployments.
- The ability to target and schedule virtual application delivery to machine or user-based collections, rather than depending on security group membership.
- The ability to use standard Configuration Manager features, such as distribution-point scalability and failover, data throttling via Background Intelligent Transfer Service (BITS), enhanced centralized reporting for both physical and virtual applications, support for Internet-facing clients, and support for branch caching scenarios.
During this pilot phase, Microsoft implemented more mandatory client involvement. The Configuration Manager integration phase had several goals, including:
- Deploy a mandatory installation of the App-V client to all members of a specific Configuration Manager site.
- Provide a mandatory deployment of one application that most users would use on a regular basis.
- Bring on Helpdesk processes, and provide Helpdesk training for App-V issues.
- Increase the user participation.
The Configuration Manager integration phase began by targeting approximately 5,000 client systems for mandatory Application Virtualization Client installation, and was limited to 32-bit Windows® XP or Window Vista®–based clients with at least 5 gigabytes (GB) of hard-disk drive space available. The hard drive space requirement was set to limit the risk of a client running into a low disk space condition and affecting the ability to receive critical security updates as required. Microsoft chose Adobe Reader as a mandatory application to deploy with the virtualized environment. Approximately 10,000 to 15,000 client systems were using the virtualized environment when the pilot phase ended.
App-V 4.5 RTM Release
The final RTM releases of App-V 4.5 and Configuration Manager 2007 R2 enabled Microsoft to increase the App-V user base to approximately 47,000 clients with the mandatory Adobe Reader package installed.
When the pilot project ended, Microsoft removed the mandatory application requirement. However, users could continue to install virtualized applications by using the Run Advertised Programs or Add/Remove Programs items in the Windows Control Panel.
Note: For additional details on the specific App-V architecture, see the Microsoft IT Showcase technical case study "Architecting the Microsoft Virtual Application Infrastructure at Microsoft."
App-V 4.6 - Integration with Configuration Manager 2007 R2 SP2
App-V 4.6 introduced support for 64-bit clients. The beta release became available in July 2009, and Microsoft implemented a phased pilot to include as many as 40,000 machines by RTM. The pilot included upgrade of a percentage of existing 4.5 clients plus additional 32- and 64-bit Windows OS clients, integrating with Configuration Manager 2007 R2 SP2 beta.
Microsoft used the following high-level process to update and migrate clients taking part in the virtual application pilot:
- Created a query-based collection for computers that were taking part in the pilot.
- Targeted a mandatory advertisement to install the App-V virtualization client to the collection. Microsoft included 32-bit and 64-bit Windows® XP, Windows Vista®, and Window 7®–based computers with at least 12 GB of hard-disk space available. The 12-GB limit minimized the risk that a client would have low disk space and not be able to receive critical updates.
- Enabled the Allow virtual application package advertisement feature on the Advertised Programs Client Agent.
- Enabled the existing Distribution Points to support Application Virtualization.
- Imported a sequenced application into the Configuration Manager environment, and deployed the virtual application to clients. As a proof-of-concept, Microsoft deployed Adobe Reader as a mandatory application to users.
Note: There was no significant change made to the App-V 4.5 infrastructure for this pilot. The purpose was to validate 64-bit support in the client, and integration compatibility between App-V 4.6 and Configuration Manager 2007 R2 SP2.
App-V 4.6 and Configuration Manager 2007 R2 SP2 RTM Releases
At RTM releases of App-V 4.6 and Configuration Manager 2007 R2 SP2, the user base receiving the mandatory App-V 4.6 client and Adobe Reader package increased to approximately 122,000 users.
Deploying application virtualization by using either the Full infrastructure model or the Configuration Manager-integrated model can provide significant benefits to managing application life-cycle tasks.
However, despite the benefits, organizations need to consider some issues when implementing a full-scale adoption of this technology, including:
- Categorize application catalog. Spend time to determine the best application candidates for virtualization. You need to understand the applications that you cannot sequence or the applications that are more costly to sequence versus performing traditional installation tasks. Table 1 provides an example of how Microsoft categorized applications.
Table 1. Application Sequencing Categories
Evaluate application virtualization requirements early. You need to understand your goals for today and for future requirements, including the need for Internet-facing clients or peer/branch caching requirements. Understanding current and future requirements determines whether you will choose the Full infrastructure model or integrate Configuration Manager 2007 R2.
Understand limitations of using the Configuration Manager–integrated infrastructure model when compared to the Full infrastructure model. Configuration Manager provides enhanced scalability and more-precise system and user targeting than the App-V Full infrastructure model, but there are limitations that you should consider when integrating with Configuration Manager, including:
Enabling virtual application package advertising in Configuration Manager causes the Configuration Manager client to remove all previously deployed virtual-application packages that may have published via the Application Virtualization Full infrastructure or Stand-alone delivery models. When migrating to a Configuration Manager–integrated model, it is recommended to preconfigure all collections, virtual application packages, and advertisements before enabling virtual application advertising. This minimizes end-user disruption.
You cannot manage shortcuts or file-type associations through an administrative interface. You have to re-sequence applications to manage shortcut locations or change file-type associations.
You must re-sequence all application updates and then re-advertise them to clients.
Train or develop Helpdesk processes that address application virtualization issues. Helpdesk personnel require a different focus for troubleshooting virtual application issues. Virtual application problems may result from App-V client or cache issues, rather than standard application issues.
Application Virtualization 4.6 deploys an isolated, virtual application to specific users. This helps ensure that users have the applications that they need, and that compatibility issues decrease significantly because of the protection that the application’s virtualized environment provides. Users can run multiple versions of the same application easily, without having to run multiple physical or virtual machines.
App-V 4.6 also simplifies application provisioning and management tasks, provided that organizations understand which types of applications work best with virtualization, and which implementation model best suites their specific network environment.
In 2011, Microsoft plans to continue with a full-scale global deployment of virtual applications,.
For More Information
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information through the World Wide Web, go to:
© 2010 Microsoft Corporation. All rights reserved.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Active Directory, Hyper-V, SoftGrid, Visio, Windows, Windows Server, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.