Dario Lo Presti - Fotolia


An introduction to building SCVMM application profiles

Building application profiles with SCVMM can help automate the deployment process and reduces the potential for inconsistencies.

Although it is easy to think of System Center Virtual Machine Manager (SCVMM) simply as a tool for deploying and managing virtual machines, it can also be used to deploy certain types of applications.

The primary mechanism for accomplishing this is the application profile. Although SCVMM doesn’t require you to use application profiles, it is a good idea to build application profiles for any application you may need to repeatedly deploy. For example, some organizations provide authorized users with a self-service portal that allows them to deploy virtualized application servers on an as needed basis.

Having an application profile not only allows you to automate the deployment process, but it also eliminates the possibility of inconsistencies or human error with regard to the way applications are deployed. As such, you won’t need an application profile for one-off application deployments, but you should consider building an application profile if an application will be deployed multiple times.

Microsoft provides some relatively easy to follow instructions for building application profiles within the TechNet library. Before you create your first application profile however, there are two things you need to know.

The first point is that application profiles do not work for every type of application. You can’t, for example, create an application profile directly from a Windows Installer Package (MSI file). Instead, there are very specific types of applications that are supported. You can use application profiles to automate the installation of Microsoft Server Application Virtualization applications (Server App-V), Microsoft Web Deploy applications, and Microsoft SQL Server data tier applications. It is also worth noting that application profiles are not currently supported for use with Linux VMs.

Of course this raises the question of what you should do if you want to automate the deployment of a general purpose application. In these types of situations, you will need to make use of App-V -- a tool for virtualizing applications. App-V sequences the deployment of an application and the resulting virtualized application can be used with application profiles.

The other important thing to know about application profiles is that they are designed to work in conjunction with other SCVMM library objects. Specifically, application profiles are used in conjunction with service templates and VM templates.

VM templates are an object type that should be familiar to most SCVMM administrators. These templates are essentially just Sysprepped VM images that can be used to automatically create brand new VMs.

The process of creating a VM template involves working through a wizard. This wizard prompts you to enter VM specific information such as the physical hardware that should be allocated to VMs created from the wizard and how the guest operating system should be configured on those VMs. Since the whole point of using a template is to make the VM creation process repeatable and to reduce the chances of human error, it makes sense to reuse configuration data wherever possible. You can do so by using hardware profiles to configure hardware allocations (rather than setting those allocations manually) and by using a guest OS profile to configure the guest operating system.

As you work through the Create VM Template Wizard, one of the things that you can do is specify an application profile. By doing so, you can use the Create VM Template Wizard to create a template that is capable of generating a pre-configured application server as opposed to merely generating a generic server.

One last piece of the puzzle that you need to be aware of is the service template. You can use application profiles and VM templates without creating a service template, but in some cases a service template can make your life easier.

As the name implies, service templates are used to deploy services. A service consists of one or more computer tiers. A computer tier corresponds to a VM template. So in other words, a service can be configured as a collection of related VM templates. Services are useful for the automated deployment of multi-tier applications because they span multiple servers and would be tedious to deploy manually, even with access to all of the necessary VM templates. By using service templates, multi-tier applications can be deployed as a defined service rather than each part of the application having to be deployed individually.

As you can see, application profiles are useful for automating the deployment of virtualized application servers. Even so, application profiles are not designed to be used on their own. Other objects such as VM templates and service profiles are also involved in deploying virtualized application servers.

Next Steps

How SCVMM compares to other Hyper-V management tools

Define private cloud user roles with SCVMM

The challenges of managing VMware virtual machines with SCVMM

Dig Deeper on Application virtualization