Optimizing Ansible Playbooks with Asynchronous Tasks and Parallelism

Priyanshu Bhatt
8 min readApr 19, 2023

Ansible is a great tool for automating systems but sometimes you can run into issues with it for not being able to execute all tasks asynchronously. In certain tasks, the time required by the task to complete is significantly high, and when we have more tasks following the task which require heavy completion time then things start getting complicated. If the task is independent of one another then we have to use certain measures to decrease the time required in processing like some batch processing and backup tasks, which requires a lot of time and just waste the time of the controller node if we wait for them. Ansible works in parallel by default, meaning it executes tasks on multiple hosts concurrently. However, the number of hosts that can be executed in parallel is limited by the number of forks set in the Ansible configuration. This post will go over what asynchronous/parallel task execution is, and how to write a playbook that saves your time.

To learn more about Ansible from scratch Check out the Basics Of Ansible blog before starting with the hands-on.

Setting Up The Lab

In Your Lab, you need 1 Controller and 2 Manager Nodes for this hands-on. You can use AWS Ec2 services or You can set up Virtual Machines in your Workstation using your favorite VM provider…

--

--

Priyanshu Bhatt
Priyanshu Bhatt

Written by Priyanshu Bhatt

AWS Solutions Architect || Terraform Certified Associate || DevOps Engineer || I Share Crisp Tech Stories

Responses (8)