Automating your environment can produce key benefits for organizations such as reducing the provisioning time from days down to hours, standardizing the provisioning process, and allowing the IT team to redirect resources to revenue-generating projects. We’ll use vRealize Automation to provide a self-service portal, allowing service catalog consumers to request and manage their own systems. Here are 6 steps to ensure you're automating correctly to avoid errors.
The first step is to get all stakeholders involved early on in the process to make sure you capture all of the systems that get touched during the typical VM life cycle. This could include those responsible for network, storage, compute, backup, DR, security, etc. If a NOC is involved, they also need to be involved in the process. You should sit down and meet with all of these teams (depending on the size of the company there could be teams for each group or a few people covering all of the areas) because you need to have a clear understanding of how they operate and what their decision making process involves. For example, if you’re deploying a SQL server it’s important that the transaction logs are placed on fast tier 0 or 1 storage to ensure proper performance. When assigning an IP address, does the network team use a spreadsheet to keep track or are they using an IPAM tool like Infoblox or BlueCat? Another key integration to consider is if your monitoring team isn’t in house, you need to work with that third party partner to get a thorough understanding of their processes as well. Be sure to capture the complete process – don’t make any assumptions!
In the design stage, you start putting the processes in the correct order. The first decision that needs to be made is where you are going to place the virtual machine. Is it going to be in a public cloud? Private cloud? Once you decide on the placement, you actually organize the workflows required to automate the virtual machine life cycle. You deploy the machine from a template, assign the IP address that was given to you, register it to the monitoring service or NOC, etc. You may have to configure things like Site Recovery Manager if you plan on automating disaster recovery. The overall goal for the design stage is to successfully map out the complete virtual machine life cycle.
In the deploy stage, the rubber meets the road as you start to implement the automated processes. If you’re doing a simple VM deployment into a known data center or public cloud, you can use VMware vRealize Automation. When you’re using custom logic or third party systems such as Infoblox, you’ll need to extend vRealize Automation’s out-of-the-box functionality with custom VMware vRealize Orchestrator workflows.
Now it’s time to start testing your deployment. I always tell customers to expect it to fail – that’s why we’re taking the time to work out the kinks. You need to ensure the VM is placed on the correct compute resource, storage, and network. Ensure that it has the right IP address, is powering on correctly, and ultimately doesn’t fail to deploy. If it’s possible, as you add processes to the validation stage, they should involve the various teams that will own those processes (i.e. if it’s a network task have the networking team validate the process). This will help ensure the workflow is implemented correctly and will also increase buy-in with the various teams.
I would recommend breaking the Deploy and Validate stages up logically into manageable pieces. Implement 3-4 smaller automated processes that create a larger workflow and validate the new functionality as each sub-process is completed. You can clone the workflow in Orchestrator to have a snapshot that you are validating while continuing to work on additional functionality, eventually merging those changes back in. This allows deployment and validation to run concurrently to improve the efficiency of the implementation.
The Deploy and Validate phases should go hand-in-hand and be iterative, adding functionality one process at a time, validating, then implementing additional functionality based on the workflow defined in the Design phase.
At this point, service consumers are now managing their systems’ day-to-day operations via vRealize Automation, reducing the burden on the IT team. By utilizing roles and permissions, you can allow users to manage their systems via the portal, such as performing reboots or snapshots of their own machines. This will help cut down on the number of help desk tickets that get submitted which will save your team time. You’ll need to be responding to any issues that come up with the system or other typical management activities such as managing users’ access to the catalog. The management of your environment has now shifted to basic system administration, keeping users happy, and being there to answer any questions.
Periodically, you need to make sure you review the virtual machine life cycle to make sure it’s still relevant to your internal processes. If you make changes to solutions in your environment, you need to make sure it doesn’t break that automated process. Many organizations have an Architecture Review Board to ensure any system changes, upgrades or implementations do not adversely affect other systems in the organization. If your organization has one, be sure to include a member from the automation team on the committee so they are aware of any and all changes.
Again, there are many benefits to automating your environment, but you need to make sure you have a well thought out and executed plan. If you have any questions or would like to speak with me about an automation project you're looking into, feel free to reach out!
By David Jones, Senior Consultant