Ansible can be used to automate and orchestrate various types of activities within the enterprise including z/OS. This allows an organization to extend automation and normalize skills for provisioning, deployment, orchestration in a single ecosystem wherever it makes sense. As someone new to mainframe automation, Ansible also provides great exposure to the enterprise allowing you to increase your value by stitching together z/OS automation with the rest of the enterprise using playbooks. “Playbooks” are written in Yet Another Markup Language (YAML). The code is in natural language describing the state you want and can be used to gathering inventory, enforcing compliance, and the ability to run many tasks. As an enterprise solution using ansible avoids having multiple “point products” for each part of the environment. Ansible requires no agents so for organizations already using Ansible Tower, the value of Ansible increases as we see the ecosystem surrounding SystemZ branch out across the enterprise and in a Hybrid Cloud.
Ansible also introduces the topic of managing infrastructure as code. Today many processes are manual or have been developed into scripts. Many scripts are maintained by individuals or within team silos using a variety of scripting languages. But when you are gone, what will happen to your scripts? Will those left supporting the platform even know where they are? Whether due to time off, retirement or taking on a new role, the important thing is that you won’t be in reach and the team piecing together where the scripts are located or how to maintain or troubleshoot them will be under stress.
Because of the reliance on automation over the past couple of decades, scripts are intellectual property in many cases managing critical infrastructure and should no longer be considered as 'just tools'. Scripts can make changes to the environment, perform builds/deployment and perform frequently repeating tasks such as provisioning userids. Recently at THINK 2023, IBM demonstrated how the new Watsonx AI Code Assistant can generate an AI recommended code recommendation for adding z/OS users. The code Watson generated, was an Ansible playbook using the z/OS core collection.
IBM Watson Code Assistant | IBM
So what is the concept of Infrastructure as Code (IAC)? IAC is a process of maintaining scripts as critical infrastructure and deploying/changing/managing the physical infrastructure with the tools and techniques of a declarative coding language. Some of the benefits include:
- Changes can be documented
- Access is controlled and audited
- Code can be centrally managed through Source Code Management repositories (i.e., Git)
- Using an Integrated Development Environment
If this is starting to wet your appetite, you can also take a 3 day test drive of Ansible where you can manage resources on z/OS. This can be accomplished by registering for an Ansible zTrial. This is a free offering where you can drive automation via Ansible playbooks from the Ansible for IBM Z Playbook Repository utilizing Red Hat Ansible Certified Content for IBM Z:
In the zTrial you can perform several of the capabilities provided by the z/OS core collection, for example:
- Acquire z/OS status.
- Handle basic dataset operations.
- Perform job management.
- Explore additional sample playbooks.
I strongly encourage anyone with an interest in creating sustainable automation to give Ansible a try! #IBMChampion