If you are starting your journey in DevOps, automation is a skill you cannot ignore.
In this blog, I’ll walk you through Ansible basics and 7 practical Ansible projects that I implemented on an AWS EC2 instance while learning real-world infrastructure automation.
This blog is written for beginners who want hands-on Ansible experience, not just theory.
🔧 What is Ansible?
Ansible is an open-source automation tool used for:
- Configuration Management
- Application Deployment
- Server & Infrastructure Automation
It is agentless, meaning no extra software is required on target servers.
Ansible uses SSH and YAML-based playbooks, making automation simple and human-readable.
👉 This simplicity is why Ansible is widely adopted in DevOps environments.
Why Ansible is Important for a DevOps Career?
In real DevOps workflows, Ansible is used to:
- Automate repetitive operational tasks
- Maintain consistency across multiple servers
- Reduce manual configuration errors
- Speed up deployments and server provisioning
Mastering Ansible means you can manage infrastructure reliably and at scale.
How I Installed Ansible on AWS EC2
I used an Amazon Linux EC2 instance as my Ansible control node.
Steps:
sudo yum update -y
sudo yum install ansible2 -y
ansible --versionI also set a custom hostname:
sudo hostnamectl set-hostname ansible-server
Project 1: Ansible Ping Test (Connectivity Check)
This was my first Ansible project.
What it does:
- Verifies SSH connectivity between control node and target host
- Confirms Ansible setup is working correctly
If the connection is successful, Ansible returns “pong”.
👉 This project is essential before running any real automation.
🔗 GitHub: Click here
Project 2: File / Folder Creation Automation
This project demonstrates configuration management using Ansible.
What it does:
- Creates files or directories automatically
- Assigns permissions
- Replaces manual
mkdirandtouchcommands
This is a common task in server provisioning.
🔗 GitHub: Click here
Project 3: Directory Creation with Permissions
Here I focused on directory automation.
What it does:
- Creates directories at specific paths
- Sets correct permissions using Ansible’s
filemodule
This is useful when preparing application folders on servers.
🔗 GitHub: Click here
Project 4: Apache (HTTPD) Installation Automation
This project reflects real-world DevOps usage.
What it does:
- Installs Apache HTTPD
- Starts the service
- Enables it on system boot
This is exactly how web servers are prepared in production.
🔗 GitHub: Click here
Project 5: Nginx Installation Automation
Nginx is widely used as a reverse proxy and web server.
What it does:
- Installs Nginx
- Starts and enables the service
This project helped me understand service management automation.
🔗 GitHub: Click here
Project 6: Tree Package Installation
A simple but important project.
What it does:
- Installs the
treepackage automatically - Demonstrates basic package management
Even small utilities can be automated using Ansible.
🔗 GitHub: Click here
Project 7: LAMP Stack Automation (Real-World Use Case)
This is my most important project.
What it does:
- Installs Apache (Web Server)
- Installs MySQL (Database)
- Installs PHP and required modules
- Starts and enables all services
This project automates a complete web application environment, which is very common in companies.
🔗 GitHub: Click here
More real-world Ansible projects are coming soon.
I am actively working on advanced automation use cases, and I’ll be adding new projects within the next 5–6 days.
Stay tuned for updates.
Project Links
- GitHub Repository:- click here