This one is also going to be a bit text heavy. The tl;dr version – Choose the right automation tool for the job. In preparation for a few upcoming VMUGs on automation, and the vScience conference in November (you really should sign up, here) I’m putting out a few posts on Automation / Orchestration to dive deeper into concepts that don’t fit properly into a 1h or even 2h slot.
In this particular instance I’m talking about the underlying infrastructure… vSphere, OpenStack, Cloud Stack, your HR systems, Exchange, LDAP, you name it. All the various bits you have that may or may not need to be automated fall in this category. There are a number of “weapons” or tools for automating these and your choices will likely differ based on the systems you are tying together. It is because of these differences in systems you may need to choose a weapons platform that is more generic than another. That, or combine several specific platforms together with a generic platform to provide the coverage you need. Things to look for when arming a platform (choosing a tool for the job):
- Access mechanism:
- Does it have an API? (REST, SOAP, Something Else?)
- PowerShell, CLI, or another scripting mechanism?
- Do they provide their own automation platform?
- Security Requirements:
- Now that you can access it, can you lock down the access to a service account with specific role or task based permissions, or will you have root access?
- Do you need to punch holes in a firewall?
- Is your automations platform
- Learning curve:
- How well documented is the platform?
- This is critical not only to ensuring you are able to get going quickly, but that you are also able to troubleshoot effectively when issues arise.
- Do you have the skillset in house?
- If not and you need to build it, are those skills transferable?
- Proprietary systems may not be easily transferrable unless they are wide spread.
I often get asked (either via VMUG, Twitter, or comment on vCO book) which VMware automation platform a user should use. With the above in mind, you will want to choose one that is easy to work with, easy to maintain, and works well with the various systems you are automating.