DEV Community


Posted on

Set up an Automation script with Ansible

Ansible is a tool used to help manage software automation processes, configuration management across machines, deployment as well as remote execution of commands and scripts. In sports, Ansible operates as the coach of your team by providing strategies (playbooks), and actions, and ensuring the smooth execution of tasks across your infrastructure, just like a coach guides and directs players (Servers)during a game.

In Ansible, a playbook is a file containing a series of instructions that specify the tasks to be performed on remote systems. These tasks are typically related to configuration management, application deployment, system orchestration, and other automation processes. Playbooks are written in YAML format.

In Ansible, a server is a remote computer system that Ansible manages and interacts with using SSH (Secure Shell) or other connection methods. The servers can be virtual machines or cloud instances accessible within a network.


  1. Ansible is installed on your device.

Step 1: After installing Ansible, we create a directory where we store all the files needed.

Step 2: Create an inventory file (inventory.ini)in the directory and define our service. We add localhost as the testing environment.

Inventory file

Step 3: Create an Ansible playbook which is a yaml file. The Yaml file will define the tasks you would like to automate. In this scenario, we install and start an Apache Web server to localhost.

Yaml file

Step 4: We run the playbook using the ansible-playbook -i (inventory file) nameofyourplaybook.yaml.

Note : make sure to have enabled execute privileges in the playbook. I.e chmod +x [yourplaybook.yaml].

Step 5:Your playbook should run successfully with the following output.



In conclusion, we were able to create an automation script for installing Apache locally using Ansible. Although we explored on how to achieve load balancing with Ansible, there are other benefits and services Ansible offers like Infrastructure automation, configuration management, and deployment of applications across different servers.

Top comments (0)