Recently, I was able to play around a bit with Vester, an open source native PowerCLI configuration management tool for vSphere environments.
- Official Repository: https://github.com/WahlNetwork/Vester
- Chris Wahl’s description: http://wahlnetwork.com/2017/03/03/vsphere-configuration-management-with-vester/
- Brian Bunke’s description: http://www.brianbunke.com/blog/2017/03/07/introducing-vester/
The basic idea: 1) Build a configuration file from existing objects (VM, Host, Cluster, etc.), 2) tweak if needed, 3) audit all the things for compliance, and 4) remediate (optional).
At various customer sites, I find myself providing a particular type of code over and over – hey, there’s a hot KB setting tweak we need to apply, so let’s audit current state, test the change, update all objects in your environment, and then leave the customer a script to continue this audit/remediate cycle. I’d like a better way, following the principle of DRY IT.
While other configuration management tools exist (such as ansible’s VMware module), I find that many VMware admins have a reasonable comfort level with PowerCLI but less so with other CM tools. Additionally, in my role as a consultant, I may not have scope to engage in a full-blown deployment of CM tools.
However, most of my customers already have a place to run PowerCLI scripts. This makes Vester an easy, fast solution.
Vester would allow me to hand my customer a PowerCLI module and config script, with simple instructions to run “Invoke-Vester” and “Invoke-Vester -Remediate”. This seems an elegant way to address the above use case. Pretty neat!
Still, in my assessment, this is definitely not a replacement for enterprise “infrastructure as code” and configuration management tools, which provide the feature rich framework required for managing IT at scale. Instead, it is an easy to understand tool that is accessible to the majority of vSphere admins. As such, I think it fills a much-needed niche between manual administration and full-blown infrastructure automation.
P.S. I have updated my Resources page to include the beginners guide to “contributing to a github project” I found useful here. Although I’ve worked with github and some git basics, I found the linked guide helpful to see how the pieces fit together.