Purpose:
When most organizations discuss the benefits of public cloud a bullet point that tends to stand out as most intriguing is the auto scaling functionality that can be utilized during times of prime resource contention/utilization. Have you wanted to replicate the feature with your VCF deployment on-prem under your private cloud without the need for lot of code to maintain & learn and be open to tie into your additional datacenter needs. This post aims to solve this issue without having to rely on a complex configuration or a lot of pieces to maintain.
Introduction:
There are many things that VMware Cloud Foundation does well including its most prominent feature which is automating lifecycle management. Scaling vSphere clusters has been seamless from the UI, although does require manual intervention including knowing when a host should be added. This isn’t a task that is automated or that can be accomplished out of the box. This post will detail a modular method that can be adapted to a variety of VCF environments.
Not including the VCF build, there are 3 components required to accomplish this auto scaling deployment. The Aria components may already be deployed within your VCF environment.
- Aria (vRealize) Operations – An instance of Aria Operations (vROps) must be deployed and must be monitoring a VCF cluster that can be scaled and monitored for resource contention. It should be able to communicate with the Aria Orchestration instance over an SNMP port. Which is traditionally 161 or 162. The Aria Operations instance can be clustered however this is not a requirement. The version used does not matter as long the requirements mentioned are met, as monitoring and forwarding an SNMP trap are all that is required.
- Aria Automation (vRealize) Orchestration – An instance of Aria Orchestration (vRO) must be deployed. This can be standalone or embedded. Version 8.x is recommended as it includes an improved mechanism to interact with PowerShell. This can be in a clustered environment although this is not a requirement.
- PowerShell Host – This can be a Windows, Linux or MacOS Server/Desktop running PowerShell version 5.x or greater. It will also require the module PowerVCF version 2.2 or greater. This will be the secret sauce in which you are only limited by the APIs exposed from VCF and your scripting ability.
- The use of a PowerShell host increases the ability to tie the automation process into 3rd party products such as external storage servers, network appliances & public Cloud environments.
Requirements:
- A VMware Cloud Foundation 4.x or above deployment including existing hosts added as ‘Unassigned Hosts’.
- Aria Operations 8.x or above
- Aria Orchestrator 8.x or above – standalone or embedded
- PowerShell Host with the PowerVCF Module v2.2+ installed
Automation Review:
To start, let’s review an existing VCF 4.x environment as an example including the affected cluster to understand the parameters in which the scale out operation will commence. In this example, I have 4 hosts residing in the Management WLD cluster. This is a standard deployment of VCF 4.4 with a Management Workload Domain and a single Cluster.
As you can tell, the resources in this cluster are low and the cluster isn’t in need of additional resources. With vSAN being at ~64% utilized, we’ll be triggering an Aria Operations alert and adding a host to increase the amount of available storage to be prepared for future resource utilization. Since this is a lab environment, we’ll be using the vSAN warning alert within Aria Operations to trigger the scale out workflow within Aria Orchestrator. When the scale-out operation completes, we’ll end up with 5 hosts in the environment.
The Aria Operations alert that has triggered is a warning indicating that the vSAN datastore has exceeded the allowed thresholds. In this case it has consumed greater than ~64%. Aria Operations will send an SNMP Trap to Aria Orchestrator.
Aria Orchestrator has a Workflow waiting to acknowledge an SNMP Trap from Aria Operations. Once acknowledged, it will initiate the provided commands, will communicate with VCF, read the clusterUpdateSpec.json and add the ESXi host to the Management WLD cluster. The PowerVCF Module & json both reside on a PowerShell host.
The commands being initiated by the Workflow utilize the PowerShell Host configured. The PowerShell Module PowerVCF also needs to be deployed on the PowerShell Host in order to execute the configuration.
Once the SNMP Trap has been received by Aria Operations and the Workflow within Aria Orchestrator has been initiated, it will show a completed status. VCF will begin the inclusion of the host configured. Remediating the stress, the cluster has been under.
The benefit of performing the auto scaling operation in this method is the modularity of the components that can be utilized for any operation provided and exposed via open APIs with minimal effort on the user.
Key Benefits of this automation method:
- Remediating Cluster Load Stress
- Avoids host cluster resource scarcity by adding additional an additional host when needed.
- Application Resiliency
- During times of high workload utilization, downtime can be avoided.
- Modulated Configuration
- With commands being sent through a PowerShell Host, the wide range of customization and supportability are endless.