Problem Description
When a blueprint is deployed to Azure either from the blueprint canvas or as a service catalog request, the deployed virtual machine resources have a name which contains random strings in the format D###-xxxx### (eg. D73-aeff2311).
Cause
When dragging blueprint nodes onto the canvas to design their solution, architects can provide friendly names for the nodes. eg. A Windows VM blueprint node might be named AppServer01.
To ensure uniqueness of resource names, when a blueprint is deployed the following default name generator is used for VM nodes:
D${Deployment.id}-${Node.name}
Using the above Windows VM node as an example, the deployed VM would have a resource name of D73-WebServer01, with D73 being a unique incrementing number within the Broker.
In the case of Azure, Windows VMs are restricted to 1-15 characters, as detailed in the following article:
https://docs.microsoft.com/en-us/azure/architecture/best-practices/naming-conventions
To ensure both uniqueness and conformity to the 15 character limit, the default name generator for Azure VM nodes is:
D${Deployment.id}-${Node.id}
Using the above Windows VM node as an example, the deployed VM would have a resource name of D73-aeff2311, with D73 being the unique incrementing number within the Broker, and aeff2311 being the unique ID of the node object within the blueprint.
Resolution
This is by design.
It is common that using a combination of the Deployment ID and Node Name properties for resource names will exceed the 15 character limit of Azure VM resources. Using a combination of the Deployment ID and Node ID will always comply with this restriction.
Alternatively, Name Generators can be used to automatically generate meaningful resource names which conform to provider specific criteria.