What Are Virtual Machine Manager Service Templates?

In today’s post, I’ll give you an overview of how System Center Virtual Machine Manager (VMM) service templates work, including an introduction to Service Template Designer and how to use service templates in VMM.

Introduction to Service Templates in Virtual Machine Manager (VMM)

In Microsoft System Center Virtual Machine Manager, a service refers to a collection of virtual machines that are deployed together as a single entity and includes applications to be provisioned in the private cloud. A virtual machine, for example, can use a guest operating system profile that defines the operating system configuration and a hardware profile that determines the amount of memory and other virtual hardware resources that should be allocated to it. A service template is a predefined set of information that lets you create VMM services quickly.

The virtual machine can also use an application profile that defines the configuration of a line-of-business (LOB) application that is to run on the virtual machine. Finally, a SQL Server profile can be part of a virtual machine that defines the configuration of the SQL Server for the virtual machine.

By using machine profiles, you can create service templates that can be reused, which greatly reduces your effort in deploying services. This also ensures that the correct configuration for a virtual machine has been applied when the service is deployed to the cloud.

Using the Service Template Designer

The Service Template Designer helps you create service templates to bring together the various applications, the SQL Server, and the compatibility profiles and prepare them for deployment to the private cloud. Additionally, with SCVMM 2012 and newer you can sequence the applications to be provisioned as part of the service by using Microsoft Server Application Virtualization (Server App-V).

The virtual machines are deployed by using templates that you can configure specifically for the applications that the virtual machines host (for example, a web server).

You can use service templates in VMM to define the elements that contain the service that is to be deployed to the private cloud. When defining a service, you need to know the components that are required to provide the service. You also need to know the elements that make up the service to be deployed to the private cloud, such as the following.

  • Physical and virtual machines that the service requires
  • Networking components that the service requires
  • Applications that will be deployed as part of the service

Using Service Templates in Virtual Machine Manager

For applications that will be deployed, we have to ensure all the required installation files and scripts for the service are available. We also need to know how the application is configured. If you wish to use Server App-V applications, you should also have the applications sequenced and ready for deployment, with the sequenced file (now a ZIP file) placed in the VMM library.

There are many additional components from VMM that can be include in the Service Definition.

  • VMM library resources, including virtual hard disks
  • Networking components, including logical networks and load balancers
  • Virtual machine hosts and host groups
  • Private clouds
  • Hardware profiles
  • Guest operating system profiles
  • Application profiles
  • SQL Server profiles
  • Virtual machine templates

If the application you are deploying requires a SQL server that hosts an application database, you have two options available: You can either reference the existing SQL server (for example, a High Availability physical SQL cluster), or if your solution is a fully virtualized deployment, you may choose to leverage a syspreped SQL Server Virtual Machine.

Leveraging the service template, we now have the knowledge necessary to deliver the ability of scaling. Each tier of the service can be flagged as scalable, with an indication of the minimum and maximum number of instances of the specific tier that may be scaled.