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.
- Part 1: Automate VM Builds in VCF9 Automation VM Apps Org – Sample Project
- Part 2: Configure VCF SSO as Identity Provider in VM Apps Organization
- Part 3: Configuring VM Apps Organization for Automated VM Builds
- Part 4: Integrating Embedded vRO with VM Apps Organization in VCFA
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
| Field | Description |
|---|---|
| DC | Datacenter Location |
| Environment | Team or environment |
| OS | Operating system |
| Application | Application running on the VM |
| Function | Role of the server |
| Instance | Instance number |
Datacenter Codes
| Code | Datacenter |
|---|---|
| HYD | Hyderabad |
| VDC | Vizag |
Team Codes
| Team | Code |
|---|---|
| DEV | d |
| SIT | d |
| PROD | p |
Operating System
| OS | Code |
|---|---|
| Windows | w |
| Linux | l |
Application Codes
| Code | Application |
|---|---|
| SAP | SAP ERP |
| JEN | Jenkins |
| GIT | Git Repository |
| ELK | Elasticsearch / Logstash / Kibana |
| MON | Monitoring tools |
| ORA | Oracle Database |
| SQL | SQL Database |
| GEN | Generic infrastructure service |
Application Function Codes
| Code | Role |
|---|---|
| AP | Application Server |
| WB | Web Server |
| DB | Database Server |
| OT | Other 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.
| Drive | Purpose |
|---|---|
| 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 Size | User Disk (D:) |
|---|---|
| Small | 50 GB |
| Medium | 150 GB |
| Large | 350 GB |
| XLarge | 500 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 Size | Datastore |
|---|---|
| < 250 GB | hdc-platinum-small / vdc-platinum-small |
| 251 – 750 GB | hdc-platinum-medium / vdc-platinum-medium |
| 751 – 1500 GB | hdc-platinum-large / vdc-platinum-large |
| > 1500 GB | hdc-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
| Environment | Network |
|---|---|
| PROD | hprod-db |
Application / Web Networks
| Environment | Network |
|---|---|
| PROD | hprod-servers |
External Access Networks
| Environment | Network |
|---|---|
| PROD | hprod-servers-ext |
VDC Networks
Database Networks
| Environment | Network |
|---|---|
| DEV | vdev-db |
| SIT | vsit-db |
Application / Web Networks
| Environment | Network |
|---|---|
| DEV | vdev-servers |
| SIT | vsit-servers |
External Access Networks
| Environment | Network |
|---|---|
| DEV | vdev-servers-ext |
| SIT | vsit-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.

