Part1 – Automate VM Builds in VCF9 Automation VM Apps Org – Sample Project

Share this blog

Provisioning virtual machines is one of the most common tasks performed by infrastructure and virtualization teams. Most enterprise environments already have some level of automation in place for VM provisioning, but every organization has unique requirements, naming standards, storage policies, and network constraints and post provisioning requirements.

In this blog series, we will walk through a sample project requirement, and we will implement automated VM provisioning using VCF9 Automation VM Apps Organization.

We will look at:

  • Review the customer requirements and define tagging design
  • Creating and configuring the VM Apps Organization
  • Design the blueprint and test the placement logic
  • Publish blueprint to catalog and customize the catalog request form

I recommend reading other parts of the blog series to get the full understanding of this series.


Sample project overview

Assume that customer environment contains two datacenters, each managed by its own vCenter Server.

Hyderabad Datacenter (HDC)

  • Used for Production workloads
  • Contains one cluster and two resource pools
    • h-server-pool for web,app servers.
    • h-db-pool for db

Vizag Datacenter (VDC)

  • Used for Non-Production workloads
  • Contains one clusters:
    • v-server-pool for web,app servers.
    • v-db-pool for db

Project Requirements

Before building the automation workflow, we first analyze the customer requirements.


REQ1 – Custom VM Name and Hostname

VM Name and the hostname (FQDN) should be automatically generated based on the user inputs.
It must be lowercase name.

Hostname Format

Hostname = VM Name + Domain Name

The organization follows a strict VM naming convention where each part of the name represents specific information.

VM Naming Structure

DC- + Environment + OS- + Application- + Function + Instance numbering

Example:
hyd-pw-sap-ap01

Naming Components

FieldDescription
DCDatacenter Location
EnvironmentTeam or environment
OSOperating system
ApplicationApplication running on the VM
FunctionRole of the server
InstanceInstance number

Datacenter Codes

CodeDatacenter
HYDHyderabad
VDCVizag

Team Codes

TeamCode
DEVd
SITd
PRODp

Operating System

OSCode
Windowsw
Linuxl

Application Codes

CodeApplication
SAPSAP ERP
JENJenkins
GITGit Repository
ELKElasticsearch / Logstash / Kibana
MONMonitoring tools
ORAOracle Database
SQLSQL Database
GENGeneric infrastructure service

Application Function Codes

CodeRole
APApplication Server
WBWeb Server
DBDatabase Server
OTOther type Server

REQ2 – Two VM Build Types

  • Windows VM Build
  • Linux VM Build

Each build type has different disk and configuration requirements.


REQ3 – Disk Configuration

Windows VM

Windows virtual machines always include two additional disks.

DrivePurpose
D:User data
I:Application installation

The User disk (D) is always 50GB.

The App disk (I) depends on the VM size selected by the user. User should get options for storage Size Small,Medium,Large,Xlarge.

VM SizeUser Disk (D:)
Small50 GB
Medium150 GB
Large350 GB
XLarge500 GB

Linux VM

Linux VMs only receive an additional disk if the user explicitly requests it during the deployment request.


REQ4 – Datastore Placement Logic

The customer environment contains four datastore tiers/storage policies in each datacenter.
The automation must select the correct datastore/ storage policy based on the total disk size requested.

Total Disk SizeDatastore
< 250 GBhdc-platinum-small / vdc-platinum-small
251 – 750 GBhdc-platinum-medium / vdc-platinum-medium
751 – 1500 GBhdc-platinum-large / vdc-platinum-large
> 1500 GBhdc-platinum-xlarge / vdc-platinum-xlarge

REQ5 – Network Selection

Each datacenter contains different network segments based on environment and application function.
If the user selection Application role/function as Other, then they will need to go to App/Web Server dev networks.

HDC Networks

Database Networks

EnvironmentNetwork
PRODhprod-db

Application / Web Networks

EnvironmentNetwork
PRODhprod-servers

External Access Networks

EnvironmentNetwork
PRODhprod-servers-ext

VDC Networks

Database Networks

EnvironmentNetwork
DEVvdev-db
SITvsit-db

Application / Web Networks

EnvironmentNetwork
DEVvdev-servers
SITvsit-servers

External Access Networks

EnvironmentNetwork
DEVvdev-servers-ext
SITvsit-servers-ext

REQ6 – Automatic Domain Join

After provisioning, the virtual machine must be automatically joined to the Active Directory domain.


REQ7 – Application Installation

Certain applications must be automatically installed after VM provisioning.


Summary

This sample scenario demonstrates how real-world enterprise requirements can be translated into an automated provisioning workflow using VMware Aria Automation.

In the next part of this series, we will dive into how automated VM provisioning can be implemented by configuring and aligning the infrastructure components with the requirements outlined above.

Thank you for reading.

Share this blog

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top