Home Blog VMware Cloud on AWS – Compute Policies – The Start of Something Great!

VMware Cloud on AWS – Compute Policies – The Start of Something Great!

by Brian

Compute Policy… It sounds intriguing, I know. It’s something you’ll find in VMware Cloud on AWS and it’s very important that you understand what it is, what it currently does, and that it sets vSphere up for a potentially game-changing feature for vSphere admins.

Marketing take:

Compute Policy is the next-generation of affinity rules. You need this feature! Your workloads will perform better and your boss will love you!”

Technical take:

It’s true that the affinity/anti-affinity rules of vSphere don’t work in VMware Cloud on AWS. The really nitty-gritty of this comes down to the API that is called ‘reconfigureCluster’.

This API call is very powerful as it is used to set everything from DRS, Resource Pools, and Affinity Rules all the way down to very granular advanced options across the cluster features. The problem here is that there is not a way to decouple only a portion of this call and give it different permissions levels. Long story short, if we were to give VMware Cloud on AWS customers the ability to add/edit/remove affinity rules, they could also potentially do some major damage to their SDDC by removing the management resource pool, turning off DRS, or something else not thought of yet.

However, do not fear, because this is where Compute Policy comes in!

What is Compute Policy?

Compute Policy is an underlying framework that is being implemented so that VMware features can take advantage of a very important aspect of the VM, the entire lifecycle! Wouldn’t it be nice if a VI admin could portray the intent of a workload to the virtualization platform and allow the platform (in this case, vSphere) manage it through its entire lifecycle? that’s the plan. Don’t worry about how vague I am here, more to come on this in the future. Right now, what you need to know is that Compute Policy is now being used in VMware Cloud on AWS.

Affinity Rules 2.0?

Some might say that this is the next generation of affinity/anti-affinity rules. When I was the Product Manager for DRS/HA one of the painpoints I heard from customers, and would experience 1st-hand, is the static-ness of affinity/anti-affinity rules. You setup your environment, add hosts to a cluster, add those hosts to groups, add VMs to groups and then setup affinity/anti-affinity rules… Months and years go by and you never think about them again, right? Except there’s a big problem! Over those months and years, your environment has continued to grow. You’ve added in additional hosts, you’d tripled your VM count, and not a single rule has been updated. It’s actually no longer working the way you’d intended it to.

2019 comes along and VMware introduces affinity/Anti-affinity rules based on Compute Policy. There is a big difference now in how you go about creating and maintaining these rules. First off, they are now tag-based, meaning, I create tags for my hosts, and I create tags for groups of VMs based off of a specific characteristic (I’m betting many folks just go off of naming for now, and that’s alright). All of a sudden, any addition VM or Host that has a specific tag applied to it will be a part of the affinity rule. That’s pretty easy management, right?

Setting Up Compute Policy

Compute Policy can be found in the Menu bar under ‘Policies and Profiles’

Once you select Compute Policies, you’ll be able to see existing policies as well as a location to add new policies.

Compute Policies can be found under ‘Policies and Profiles’

When creating a new policy, you’ll need to give the policy a name and select what the policy will do.

Creating a new policy requires a name and policy type
Currently you can choose between ‘VM-Host Affinity’, ‘VM-VM Anti Affinity’, and ‘Disable DRS vMotion’

At this point, you can write a description to make things easier in the future. Then you must select the tags you want associated with the policy. In this case, I select the “WebTier” tag in my “Prod-VMs” category.

I’m spreading my Web-VMs across hosts using the ‘WebTier Tag’

You’ll be able to see the new policy listed now along with some details about the policy straight from the main screen. At this point, your policy is in effect.

You can see the policy now exists

I can now create additional policies, such as a VM-VM anti-affinity rule to keep my Database VMs separated.

This policy is spreading my DB VMs away from each other
Multiple Compute Policies

I am very excited about Compute Policies and the potential that it has to re-shape the work done by VI Admins going forward. Other neat features and functionality in the works around this as well. Stay tuned!

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More