One of my customers came to me with the question on how this new feature called Intelligent Workload Placement in vRA 7.3 works. At that time I knew this feature was there but I wasn’t sure what it was exactly. Following up on the question I started reading about the it and it sounds like a promising feature. In a nutshell, this feature uses the analytics from vRealize Operations to recommend placement, based on the to-be situation, to vRealize Automation. vR Ops takes into account all the clusters it manages, so if you have a cloud environment with multiple vCenter endpoints, it will look at all the available clusters.
The basics
Lets have a look at what is needed to benefit from intelligent workload placement. First of all we obviously need vRA 7.3 installed. Next to this, we need vR Ops 6.6 installed. In vR Ops we need the vRA solution installed, this is btw no longer a separate install because from vR Ops 6.6 this is included in the appliance. Looking at the vRA setup I am going to assume you have a working environment with vSphere endpoint(s), Fabric groups, Reservations, etc. We will need multiple clusters so we can see the placement in action. And we also need a catalog item that we can kick off. Also, make sure that DRS is set to fully automated in the clusters. After we have the basics covered we still need to set up the following:
- vR Ops endpoint in vRA
- Configure vRA for Intelligent Workload Placement
- vRA solution configured in vR Ops
- Configure vR Ops with the placement policy
Setting up vRA
vR Ops endpoint in vRA
Log in to your vRA portal with a user that has the IaaS admin role and go to the Infrastructure tab. Select Endpoints and click on New -> Management -> vRealize Operations Manager
Fill in the details of your vR Ops instance and test the connection. If it works click OK to save.
Configure vRA for Intelligent Workload Placement
Still logged in as IaaS admin go to Reservations and select Placement Policy. Check the box ‘Use vRealize Operations Manager for placement recommendations’ and click save.
vRealize Automation is now ready to receive recommendations from vR Ops.
Setting up vR Ops
Configuring the vRA solution in vR Ops
Log in to vR Ops as an administrator and go to the Administration tab and select Solutions. Here you will find the vRA solution that we need to set up.
Select the VMware vRealize Automation solution and click the gear icon at the top to configure the solution. In the screen that opens fill in the details for your vRA instance.
Setup the credentials to use.
When setting up the credentials you will notice it requires two sets of credentials. The first one, SysAdmin is the actual vRA System Administrator and the second one is the SuperUser. The SuperUser needs some specific roles in vRA so make sure this user has the following roles in vRA:
- IaaS Administrator for all tenants
- Tenant Administrator for all tenants
- Fabric Administrator for all fabric groups in all tenants
With all detailes filled in test the connection and if everything is working click safe and close the config screen.
Set up the placement policy
After setting up the vRA solution we can continue with the policy that determines how the load will be spread across your clusters.
In my case I have just edited the default vR Ops policy that is active in my environment. The better way to do this might be to create a custom group that will have all monitored clusters in it and apply a new workload automation policy to this group.
Go to Administration -> Policies -> Policy Library and edit the policy you want to use. With the policy settings windows open go to section 4, Workload Automation. Here you ‘unlock’ Consolidate Workloads to override the default and move the slider to Maximum.
Consolidate Workloads is the policy that affects the vRA placement integration. This setting is essentially an on/off switch. If you choose None, it will balance the workloads across clusters. If you choose Maximum, it will fill the busiest cluster. It will continue to either find the most balanced or busiest cluster until it cannot find one. When vR Ops cannot find a cluster that matches the policy the placement falls back to vRA default mechanics.
Testing the placement
Now that we have set up all components we can test if it actually works. Log in to vRA and request an item from the catalog. When you now check the execution details while the request is in progress you will notice a ‘Show Placement Details’ link in the request.
Go ahead and click on this link. This should show you a new window with the recommended reservation which in turn points to the recommended cluster.
This means that vR Ops was contacted by vRA and that it was able to successfully recommend the location that was best suited according to the placement policy. With this information vRA has tied that information back to a reservation that was setup for the cluster that was chosen.
Conclusion
Intelligent workload placement is a really nice feature that helps cloud admins to simplify the placement of workloads across clusters and vCenter environments. Intelligent workload placement really aims to be a background feature that will silently help cloud admins with the correct placement of workloads once it is set up. This also has its drawbacks, for instance when not able to recommend a location, the feedback to the end-user is pretty poor. I found this out myself when testing this feature. My clusters were close to the threshold that vR Ops uses to calculate if more workloads will fit. When requesting a catalog item I would go over the threshold but the end-user never sees this information. The placement details window just looks like recommendations is not working at all instead of telling you that a threshold was reached and default placement mechanics are in play. It wasn’t until after I cleaned up my cluster to lower the thresholds that I started seeing the recommendations in the placement details window.
If you need some more background information I would recommend looking at the official documentation on the VMware site.