What types of applications should I virtualize with Server Application Virtualization?

Server App-V, a core feature of SCVMM 2012, was created with one purpose in mind: making deployment and management of datacenter applications dramatically simpler. Server App-V provides a predictable, repeatable and consistent deployment/management experience. Take your application, create an image of it using the Server App-V Sequencer, copy the image to your target machine and all you need to do is to deploy the package with a single command to get your application up and running!

Our goal is to support a wide range of server applications. As with Microsoft Application Virtualization for the desktop, there is not a list of applications that Server App-V will support. However, there are a number of architectural attributes that the initial release of this technology has been optimized for.

Most server applications need to communicate with other Windows components such as IIS Manager, Windows Service Manager, COM+ catalog and so on. Server App-V has been built to allow communication between the virtual application and native Windows components. In this post, we are going to look at what kind of applications are the best candidates to be virtualized and what kind of applications are not supported by the first version of Server App-V.

Before we begin, a quick note about OS support: Server App-V supports server OS platforms only. Both x86 (where applicable) and x64 versions of Windows Server 2003, Windows Server 2008 and Windows Server 2008 R2 are supported. All editions are supported with one exception – The Server Core edition is supported for Windows Server 2008 R2 only.

Server App-V features for application virtualization support

IIS Server App-V supports applications that install web sites, virtual directories and application pools. With Server App-V, you can easily virtualize applications that create these components on IIS 6.0, IIS 7.0 and IIS 7.5.

Windows Services Many server applications install Windows services. With Server App-V, you can sequence an application which creates Windows services. When a virtual package is deployed to a server, you will see the same services in the Windows Service Control manager as you would see with a native installation of the application.

COM/DCOM/COM+ Server App-V Sequencer captures COM/DCOM/COM+ components created by the application installer. These components are registered during deployment time so that they can be consumed by other applications or processes. You can also see these components with tools such as dcomcnfg.

WMI Many datacenter applications create WMI components such as WMI providers or classes during the application installation. With a Server App-V virtualized package, you won’t miss any of these components when the package is deployed!

Local users and Groups Unlike desktop applications, it is common for datacenter applications to create local users or groups as part of the installation process. Many files also contain references to user or group security IDs to restrict access to certain users and groups. Server App-V is capable of capturing local users and groups created during sequencing of the application and recreating them at deployment time. Any references to the SIDs are also maintained automatically.

SSRS In Server App-V, we built a special component to handle the virtualization of applications that install SQL Services Reporting Services as part of the installation process. Therefore, if your application uses SSRS, you can use Server App-V to virtualize it!

The features listed above allow Server App-V to virtualize applications that interact with Windows OS through IIS, Windows Services, COM and so on. So, take a look at your application now. Does it need any of the features that we just mentioned? If so, it’s a great candidate for Server App-V. Give it a chance and you will see how Server App-V makes your life much easier. However, if your application doesn’t use any of the components listed above, it doesn’t mean that you cannot use Server App-V to virtualize your application. It just means that you can virtualize your application without using any special Server App-V feature that we described. Indeed, many application installers still deploy only a bunch of files and registry values and nothing more. These types of applications can easily be virtualized by Server App-V.

Special note:

Server App-V does not migrate server level IIS changes made by application installers. If an application installer changes a server level IIS setting, other applications running on the system will be affected by this change. Therefore, Server App-V leaves the responsibility of changing server-level settings to deployment administrators. However, don’t worry, Server App-V provides deployment configuration items to make this process very easy for you!

What types of applications are not supported by Server App-V?

Server App-V Beta does not support applications that install the following components:

Drivers If your application installs drivers, Server App-V won’t install the drivers on deployment machines. Some applications have drivers that are installable separately. If this is the case for your application, you can install the driver first and then sequence the application with Server App-V sequencer. Before you deploy the package, you should also install the driver to the deployment servers.

SharePoint Server App-V does not support virtualization of SharePoint or virtualization of an application that installs SharePoint as part of the installation process. If your application uses SharePoint, check if it can connect to an external SharePoint server. If so, you can virtualize the application without installing SharePoint during sequencing process.

SQL Server Server App-V Beta does not support SQL Server virtualization. If your application requires SQL server, you will need to point the installer to a previously deployed SQL server instance on another machine during sequencing time and update the deployment configuration information to point to an appropriate (again, previously deployed) instance at deployment time.

It is always difficult to draw a line between what applications can be virtualized and what applications can’t be virtualized. The Server App-V Sequencer is designed to report any issues that are encountered during sequencing process. Therefore, after your sequencing finishes, it’s always a good idea to check the Server App-V Sequencer report and verify that your package is functional with the Server App-V cmdlets; which we will cover in a separate blog post.

We are eager to hear about your experiences and get your feedback! If you have a candidate application, virtualize it with Server App-V. Tell us how we can we improve the experience and make your life even easier!

Emre Kanlikilicer

Software Design Engineer II, Server App-V