Using vRealize Automation and Ansible to create DNS, DHCP, and IPAM workflows with Micetro.
Aug 18th, 2022
Looking for live demos on how to ease operations around deployment and sunsetting of apps and services, or how to clean up your DNS and IPAM, or maybe how to get control of your VDI environment from a DHCP perspective? Come see us at VMware Explore!
If you're not going to be able to attend in person or you just want to get started now with Micetro, though, let's go through a few examples of how Micetro can help you manage your DDI environment on-premises and in the cloud all from one API.
Micetro is an API-first overlay solution, which will help you ease your way into creating the most reliable and performant DDI environment using the automation tools your IT teams are already using. In this blog we'll talk about how you can use VMware's vRealize Automation/Orchestrator (vRA/vRO) along with other tools like Ansible or even just Postman. No matter what you're using for automation, though, the concepts here will work. If you can make an API call, you're in business.
Let's start simply with defining what these VMware products can do. If you have a large VMware environment, you may want to consider using vRealize Automation or vRealize Orchestrator.
vRealize Automation (vRA) – VMware’s flavor of automation tool allowing users to create automation workflows for vSphere and NSX. It really gives users a self-service portal to create and consume workflows. A simplified use case would be if a developer needs a new IP address for a test server. They can go to a self-service portal and request a new IP address, which would trigger vRA to return a free IP.
vRealize Orchestrator (vRO) – Takes vRA a bit further to create larger workflows. An example would be if a developer wants to deploy a whole application with several app tiers. vRO will allow admins to create a workflow (or “blueprint”) to get everything needed and then automate the deployment of that app/service.
vRealize Suite – Taking vRO a step further and adding reporting, business analytics like cloud costs, right sizing VMs to make sure you’re getting the best bang for your buck from a resource perspective.
I mentioned vRA really being a self-service portal, so instead of creating your own home grown self-service portal vRA will give you a ton of integrations and plug-ins that will help you create workflows. Then they offer a component called Service Broker which is what your end users will use to run or consume those workflows. All of this is not just to create faster deployments, but to actually create more sustainable workflows and pipelines.
This idea of running workflows from self-service portals creates the most efficient way to run your data centers or VPCs. It makes it possible to run multicloud environments, with both on-premises infrastructure and resources in the cloud, as though they are simply service providers and no longer a bottle neck to deploying, updating, or sunsetting revenue generating services.
This answer, as always, is that it depends. However, I do have a couple recommendations for getting started in a way and at a pace that will suit your IT teams.
Are you already using Ansible? Then it probably makes sense to use the Ansible integration with vRA. Maybe you prefer Terraform or Saltstack. You should use whatever makes sense for your environment. Definitely talk to your DevOps team if you have one.
*Note, you don't even have to use vRA, you could just use Ansible with Micetro. vRA gives you that centralized self-service portal, though, and may be especially useful in a multicloud environment in which you're using vSphere on-premises and VMware Cloud in the public cloud. This gives you the same operational model no matter where your workloads reside.
2. Find a workflow with which it makes sense to get started.
This could just be low hanging fruit. Maybe you already have an Ansible playbook created for assigning the next free IP address to a newly created VM. Now you just have to get it into vRA using the Cloud Assembly component to create a template so it can be used.
If you don't already have a workflow mapped out, though, I highly recommend creating documentation for a workflow that is run regularly. Document each part of the process from ticket creation to execution. Make sure to note which teams are involved at each step of the process, as well as which systems are involved. Automation is excellent for helping you solve bottlenecks caused by Silos. Here's a really simplified example:
Most of this can be automated and wouldn't actually require any manual effort. Guardrails can always be built in for approvals. For example, Micetro can return the next free IP address automatically through the APIs. An Ansible playbook could be created to create DNS names and assign the new IP address to those A or AAAA records. Would this save time? Yes. But more importantly, it would create a more consistent environment every time. I would venture to say this entire workflow could be an Ansible playbook or several used together in a modular fashion.
For more information on creating Ansible playbooks for Micetro, check out these resources: https://menandmice.com/docs/10.3/guides/user-manual/ansible and https://github.com/menandmice/ansible_micetro
We depend on Sources of Truth to create confidence in our automation workflows. Micetro is that single source of truth, which guarantees up-to-date DNS, DHCP, and IPAM information.
For more information, don't forget to come visit us at VMware Explore, or if you're not able to make it there we're happy to give you a personalized demo any time!