With the growth of the cloud and containers, DevOps has become increasingly important. Old-school sysadmin methods and means simply aren't up to managing server instances that can spin up at a moment's notice when needed. Red Hat knows that better than many companies, so its latest release, Red Hat Ansible Tower 3.4, goes even further in automating today's IT stack.
The biggest change in this update of Ansible Tower is its workflow enhancements. The net result is Red Hat, which has invested heavily in Kubernetes container orchestration, has optimized Ansible for hybrid cloud use.
Specifically, Ansible Tower has added far more utility to workflows. In Ansible, you use a workflow to configure a sequence of job or workflow templates. These may or may not share inventory, playbooks, or permissions. However, like job templates, workflows have 'admin' and 'execute' permissions. With a workflow, you can track the full set of jobs as a single unit.
In 3.4, workflows now include support for automating nested workflows, workflow inventory, workflow always templates, and workflow convergence. What does that mean exactly? Let's look.
- Nested Workflows: This is exactly what it sounds like. With nested workflows, you can to have workflows within workflows.
- Workflow-level Inventory: Ansible has depended on the inventory from job templates. This is no longer the case. You can now specify an inventory for a workflow, which can then be used by every job template in that workflow.
- Workflow Always Job Templates: Some automation steps should always run regardless of whether the workflow jobs fail or succeed. These include cache warnings and the like. With this, these steps will run no matter what's going on with the rest of the workflow.
- Finally, with Workflow Convergence, you can track the completion of multiple workflow jobs before continuing. For instance, when deploying application updates, you might need to wait until all nodes in a cluster are done with a job before stopping a service on any node. This gives you a more complete dependency chain for jobs inside workflows.
A related new feature enables you to parallelize jobs across nodes in the Ansible Tower cluster with job slicing. Prior to Ansible 4.4, a single Ansible job would only run as a single ansible-playbook job. Now, you can generate a workflow from a job template instead of a job. With this, you can run multiple workflows at once.
There are also other minor improvements. The sun of all these improvements is Ansible Tower now works better than ever at complex jobs such as those you'll find on Kubernetes-powered hybrid clouds.