Today, IBM Z users have many different options for tools to automate their mainframe processes. JCL, REXX, z/OSMF Workflows and Zowe CLI are all such options and all specifically designed for IBM Z, and therefore resulted in the need for specialized skills, for which current education is lacking. There is an opposite experience on many other platforms, with industry-standard scripting languages and automation tools available and skills readily available. Therefore, standardization and modernization of the way users automate on IBM Z has never been more critical.
Red Hat® Ansible™ is one of the most popular automation platforms in the industry. Red Hat Ansible Automation Platform, comprised of many components, enables technology groups to have a centralized automation strategy across all varying infrastructure. In April 2020, IBM made the commitment to the future success of the IBM Z platform by contributing Ansible content back into the open source community, enabling clients to have an IBM Z tailored experience. Since then, there have been six certified collections delivered as a part of Red Hat Ansible Certified Content for IBM Z. Many clients are showing a growing interest in Ansible and are now expanding their Ansible automation strategy to their Z infrastructure. On the community repository for Ansible collections, Ansible Galaxy, these six collections have accumulated more than 100,000 downloads in the two years they have been available.
An Ansible collection is a packaging format for bundling and distributing Ansible content, including plugins, roles, modules, and more. If you are new to Ansible, check out the Ansible Glossary for help with terminology. IBM Z users can automate a lot with the collections available today, which are:
- z/OS Core collection, which provides the foundational z/OS building blocks for automation, for example managing datasets, submitting jobs, issuing commands and more.
- IMS collection, which enables application deployment and subsystem provisioning automation with Ansible.
- CICS collection is used for application deployment and subsystem configuration automation.
- z/OSMF collection allows users to take their existing automation in workflows and cloud provisioning and management templates and orchestrate those with Ansible, including z/OSMF automation in the wider automation strategies.
- z/OS System Automation collection expands the capabilities of your policy-based automation with the creation and deletion of dynamic resources.
- IBM Z Hardware Management Console collection allows the management of platform resources on IBM Z and LinuxONE machines, for example, partitions, adapters, the Z system itself or various resources on its HMC.
These collections can provide many of the capabilities for automating on IBM Z, but users have additional options for automating their processes.
Out of the box with Ansible comes the URI module, which allows users to interact with HTTP and HTTPS requests like REST and SOAP API calls. This enables any REST or SOAP enabled interface on IBM Z to be automated with Ansible, like z/OS Connect and MQ. Users can also work with the modules in the z/OS Core collection to automate additional components of z/OS. For example, there is the zos_tso_command module, which allows the user to execute TSO commands as part of their Ansible playbooks. This enables use-cases such as automating security operations from RACF, ACF2 and Top Secret with Ansible. Clients have used this capability today to simplify and automate userid management on z/OS, which you can view a demo of here. Users can also leverage the zos_job_submit to submit any JCL or REXX being used on z/OS, further extending on the capabilities available today.
Between the collections and this content, there are a plethora of use-cases available to clients that are considering automating with Ansible on IBM Z.
The possibilities are endless, but as insight here are six areas we have seen clients finding success with:
1. Provisioning and maintenance
Whether it’s automating the provisioning of middleware or applying maintenance to subsystems, Ansible’s ability to automate at scale enables provisioning and maintenance tasks to be centrally managed in a consistent way with the rest of the enterprise.
2. Configuration management
Once the middleware is provisioned, then it may need to be configured to work with many applications. Ansible can be used to automate that configuration, saving developers time as they create and test their applications.
3. Security automation
Security automation has been the most popular use-case to date. From simple tasks like adding new userids, to complex processes like automating certificate expirations and renewals.
4. CI/CD and Application Deployment
Integrating and provisioning automation tasks into application deployment and CI/CD pipelines. Ansible can be used to tie together processes across CI/CD and application deployment tools like UrbanCode Deploy.
5. Orchestration
Many companies have a lot of automation already built, whether that is in the form of JCL, REXX, z/OSMF workflows or Zowe CLI scripts. You can orchestrate this existing automation with Ansible to integrate that automation into the automation strategy removing siloed in-house automation.
6. Gathering information from the mainframe
Mainframes are the repository of much core business data. Ansible can be used to improve management and visibility of IBM Z systems, gathering information to perform health checks, audits, and more can greatly simplify the actions we can take once data on Z is obtained and understood.
Many clients that are already automating IT processes with Ansible may not be using it within a wider IBM Z implementation. Many have been onboarded onto their company-wide Ansible Automation Platform environment, reducing the resources their IBM Z systems programmers have to manage when working with Ansible. With Ansible, IBM brings together the automation strategies of your business, breaks down silos and enables more users to be productive on the platform.
If you are interested in automating with Ansible for IBM Z, there are many resources to help users get started. As part of the six collections mentioned, there is a documentation site the collections share, having all IBM Z collection documentation in a single place. Here users can find many examples of how to use the Ansible modules included in the collections in their playbooks.
- Never used Ansible before? Try the Ansible IBM Z Trial, which has three prewritten scenarios to run through in a hosted environment.
- Ready to start building playbooks? Start with the Ansible for IBM Z Playbook Repository, where many playbooks are hosted across multiple use-cases.
- Want to see Ansible in action on IBM Z? Watch videos on the Automation and Provisioning channel in the IBM Media Center.
To stay up-to-date on all the latest Ansible for IBM Z information, join the Ansible for IBM Z community topic group, where blogs, announcements, and more are posted for community consumption.
Lastly, make sure to attend the multiple Ansible-related sessions during the SHARE Dallas conference to see demos and learn more about the content that is being released!
Dan Jast is a Go-to-Market Product Manager at IBM supporting Hybrid Cloud Foundations offerings for IBM Z including the IBM Z and Cloud Modernization Stack, Ansible for IBM Z, z/OS Cloud Broker and more. Dan has been at IBM for 5 years, in which he has worked heavily on Open Source tools on Z like Ansible and Zowe. He has focused mainly on technologies helping to modernize the Z Platform. Dan also comes from a Z Systems Programming and Technical Specialist background in his previous roles. Dan is also the Open Source on IBM Z project representative for the SHARE conference.