In many projects my colleagues often ask me what VM templates I must create, and how many resources I must assign to it.

The first thing should to do is identify the workload or the business logic that platform must sustain during its lifetime. In the case of a service provider, templates, follow the simple list of products; but in the case of a dedicated project or private cloud consolidation, the analysis of the workload is mandatory to identify which and how many templates must be created:

 

 

VMOSNetwork/EnvironmentResources
VM1Windows 2008Prod12vCPU, 8GB RAM, 150 GB vmdk
VM2Windows 2012Prod12vCPU, 8GB RAM, 50 GB vmdk
VM3Windows 2012Prod11vCPU, 4GB RAM, 50 GB vmdk
VM4Windows 2012Prod21vCPU, 4GB RAM, 50 GB vmdk
VM5Windows 2012Prod21vCPU, 4GB RAM, 50 GB vmdk
VM6Windows 2012Prod24vCPU, 16GB RAM, 200 GB vmdk
VM7Windows 2012Prod12vCPU, 8GB RAM, 50GB vmdk

 

First of all, identify the Operative Systems:

  • Windows 2008
  • Windows 2012

In this Windows 2008 could be excluded from the templating project because is the one in the project, and assume that the future instances should be Windows 2012 only. Then VM template list could be:

 

TemplateOSNetworkResources
TPL1Windows 2012

 

The next consideration is the network and/or the environment, because time to deploy of a VM could be decreased in a environment with dhcp and active directory: during deploy you could automatically join active directory, without next manual intervention. <<Less manual intervention for better life of the sysadmin>>.

 

TemplateOSNetworkResources
TPL1Windows 2012Prod1
TPL2Windows 2012Prod2

 

 

Last but not the least is identifying the minimum resources the template should have. for vCPU and Memory you could follow the minimum requirements for the OS or identify the minimum parameter in the list. In our case 1 vCPU and 4GB vRAM. But for vmdk the rule could be different: you could extend your disk increasing vmdk capacity or binding another vmdk, but reducing could be dangerous, complex and insecure. For this reason, it must consider the minimum capacity for OS or the minimum parameter in the list.

 

Template list could be this:

 

TemplateOSNetworkResources
TPL1Windows 2012Prod11vCPU, 4GB RAM, 50GB vmdk
TPL2Windows 2012Prod21vCPU, 4GB RAM, 50GB vmdk

 

Enjoy your deploy.