Dario Lo Presti - Fotolia


Demystifying application and SQL Server profile configuration

Application and SQL Server profiles are essential to using System Center Virtual Machine Manager to deploy virtual machines, but creating them requires a little extra effort.

At first glance, creating application and SQL Server profiles in a Microsoft System Center Virtual Machine Manager seems easy enough, but in reality, it requires careful configuration and management. An SCVMM service enables deployment of two or more VMs to a virtualization host or a failover cluster. Should you wish to deploy a set of VMs on a virtualization host or a failover cluster, you must first create an SCVMM service template that holds the necessary settings for the VMs. In an SCVMM service template, you can embed applications to be installed as part of service deployment and configure SQL Server instances with the help of an application and a SQL Server profile respectively.

Creating an application profile

When you deploy a set of VMs as part of a System Center Virtual Machine Manager (SCVMM) service template, you must also deploy VMs with some applications, unless you intend to implement a Hyper-V guest cluster that does not need to be deployed with any other applications or components. A tier is a group of VMs that communicate with each other to provide the required services. For example, in a two-tier service, the first VM might run the Internet Information Server (IIS) application while the second VM runs SQL Server instances; IIS then communicates with SQL Server. This is where application profiles come in handy. In an application profile, you can embed applications -- such as Microsoft Server Application Virtualization applications, Microsoft Web Deploy applications, Microsoft SQL Server data-tier applications and scripts -- to run when deploying VMs via an SCVMM service.

When creating an application profile, you are required to provide a name and description and select a compatibility option as shown in Figure A.

Choosing a compatibility option in an SCVMM.
Figure A. Choose one of three compatibility options to make an application profile.

Which compatibility option should you select? Most organizations run VMs with standard applications, such as SQL and IIS. It is important to note that you should not use SCVMM service templates for general VM deployment; you should consider using a VM template instead. There are three options for compatibility: General, SQL Server Application Host and Web Application Host. The General option allows you to deploy any application type, including SQL Server data-tier application (DAC) packages, Microsoft App-V packages, Web apps and scripts to run before or after installing the VM. As shown in Figure B, selecting the General compatibility option allows you to add required packages or scripts to the application profile.

General compatibility option settings.
Figure B. General compatibility allows you to add required packages and script to the profile.

You should select the SQL Server Application Host option if you need to deploy only SQL Server DAC packages or SQL Server scripts to the VMs. Select the Web Application Host option if you intend to deploy only Web applications that run IIS to the VMs.

Choosing the right compatibility option

Since the General compatibility option enables you to select a variety of applications, you may be wondering why it is necessary to provide SQL Server Application Host and Web Application Host compatibility options. First, selecting a compatibility option ensures that you select the right application profile when configuring or creating an SCVMM service template. Second, most of the deployments in a production environment include standard applications, such as SQL and IIS, so Microsoft decided to provide the SQL Server Application Host and Web Application Host compatibility options.

Third, deploying VMs via an SCVMM service template ensures the correct packages are applied to the VMs, which, in turn, avoids any undesired VM configurations. It is important to note that an SCVMM administrator will configure required profiles or templates in the SCVMM, but the deployment of a service can be started by an AppController user or any other user who has rights to deploy a service. Fourth, when you select a compatibility option, an SCVMM automatically removes unnecessary items when configuring an application or package. This helps you work with required items only when configuring the application package. For example, if you select the "SQL Server Application Host" compatibility option, the SCVMM will disable the ability to add any other items in that application profile.

Finally, an SCVMM doesn't impose any limitation on the number of application profiles you can create, so creating application profiles with different compatibility options will help you avoid problems.

The General compatibility option helps you configure any required packages or scripts in an application profile, but that doesn't necessarily mean that you would always want to create all application profiles with the General compatibility option. For instance, you might not want to deploy a Web application, but deploy a SQL Server DAC package to configure the existing SQL Server instance. Similarly, you may wish to deploy a Web application package, but avoid installing SQL Server DAC packages as part of a service deployment. In any case, you should avoid creating unnecessary application profiles. So, how many application profiles should you create?

There are two things you need to pay attention to when deciding the number of application profiles to create: OS compatibility and the set of applications or packages that you are going to embed in an application profile. The OS compatibility helps you decide which OS version VMs should target before the applications embedded in the application profile can be installed. In a large organization, there will be several business units operating with different needs. Different business units will have different application and OS requirements. If you want to deploy a SQL Server DAC Package and a Web application, then create multiple application profiles considering the points highlighted earlier in this article.

Once you've decided on a compatibility option, you'll need to choose a naming convention to follow for application profiles. Since application profiles mainly focus on the applications that are being deployed to VMs, you should give your application profile a descriptive name. Some examples include "General Purpose Application Profile," "AppV Package for All Users," "SQL Server DAC Package for Finance Application" or "Web application for front-end IIS VMs." A descriptive name helps you choose the correct application profile when creating an SCVMM service template.

Creating a SQL Server Profile

The general idea behind creating a SQL Server profile in an SCVMM is to deploy SQL Server instances to the VMs that are part of a service template. The SCVMM clearly indicates that when creating the SQL Server profile you must provide the media source for the SQL Server, SQL instance name, SQL authentication, SQL Server administrator accounts, SQL service accounts and other parameters as shown in Figure C.

SQL Server creation window.
Figure C. You must provide media resources for all parameters when creating a SQL Server profile.

An SCVMM is a great product for managing automated deployment of a group of virtualized instances via an SCVMM service template. An SCVMM can help you configure required applications or packages in an application profile and SQL Server instances in a SQL Server profile to automate the deployment of VMs. This, in turn, helps to reduce overall costs by eliminating the need for IT admins to deploy the applications manually.

Although it might take a little extra time to configure application and SQL Server profiles in an SCVMM, this will simplify the deployment process in the long term. Unfortunately, application and SQL Server profiles can only be used for Windows VMs; neither profile presently supports Linux guests.

Next Steps

SCVMM helps define private cloud user roles

How to move VMs from VMware to Hyper-V with SCVMM

SCVMM makes running Hyper-V and VMware easy

Dig Deeper on Application virtualization