Using Service Templates
In previous chapters, I talked about the idea of virtual machine templates, which
enable single virtual machines to be deployed. They are useful in typical deployment
scenarios for individual workloads that are not dependent on other services, but few
server applications work in isolation. Server applications talk to other server
applications, and often multiple instances of server applications are required for
availability and load-balancing needs.
Multitiered services can be deployed manually using templates by creating eight
virtual machines, four for the web frontend tier, two for the middle tier, and two for
the backend storage/database tier, for example. When it comes time to update a
service, each virtual machine needs to be manually updated, because once a normal
virtual machine is deployed, there is no ongoing relationship between the virtual
machine and the template. This means that a virtual machine is not refreshed if the
virtual machine template from which it was created is updated.
Service templates provide a new capability, introduced in SCVMM 2012, that allows
complete services to be defined in SCVMM. The capability and service template
introduced in 2012 can be one-, two-, or three-tiered applications by default, as shown
in Figure 6.9, but additional tiers can be added if required. The virtual machine
template for each tier can be specified in addition to which applications should be
deployed, such as an IIS site using Web Deploy for the frontend, a regular application
for the middle tier, and a database application using SQL DAC for the backend tier.
SCVMM 2012 introduced the concept of Server App-V, which allowed server
applications to be virtualized, allowing abstraction from the underlying operating
system and simple deployment and migration. This feature has been deprecated in
SCVMM 2012 R2 because it was not widely adopted, and there are currently other
initiatives to provide a better type of functionality, which means that it’s not a
technology in which to invest.