DevOps · Automation · Beginner

Ansible Fundamentals

Learn why automation matters before learning YAML. Progress through 12 complete modules from your first inventory and ad-hoc command to reusable roles, with a practical lab and knowledge check in every module.

Start with the problem

Why does Ansible exist?

If an administrator must SSH into twenty servers and repeat the same change by hand, the real problem is consistency, repeatability and evidence—not typing speed.

Manual

Repeat the work

Admin
 ├─ SSH → Server 1
 ├─ SSH → Server 2
 ├─ SSH → Server 3
 └─ SSH → Server 4

Easy to drift, miss a server or apply slightly different commands.

Automated

Describe the work once

Playbook
   ├─ Server 1
   ├─ Server 2
   ├─ Server 3
   └─ Server 4

One reviewed automation can apply the same intent consistently.

Architecture in one minute

Agentless automation over SSH.

CONTROL NODEAnsible + inventory + playbook
SSH
MANAGED NODESLinux hosts execute modules
RESULT
FEEDBACKok · changed · failed · unreachable

For common Linux management, Ansible normally does not require a permanently running agent on each managed node.

Course modules

Open a module and learn by doing.

Every module contains learning objectives, conceptual explanation, worked examples, a guided lab, troubleshooting guidance, real-world context and a knowledge check.

01

Why automation?

Understand the operational problem Ansible solves: repetition, inconsistency, drift and lack of repeatable evidence.

Open module →
02

How Ansible works

Learn the control node, inventory, managed nodes, SSH connection model, modules and execution feedback.

Open module →
03

Install & verify

Create a clean Ansible project, install Ansible in a virtual environment and verify a safe lab before making changes.

Open module →
04

Inventory

Organize hosts into meaningful groups, attach connection information and verify exactly what Ansible will target.

Open module →
05

Ad-hoc commands

Use one-off module execution for discovery, verification and carefully controlled changes.

Open module →
06

YAML without fear

Learn only the YAML structures needed to read and write clear Ansible playbooks.

Open module →
07

Your first playbook

Turn ad-hoc intentions into a repeatable playbook with named plays and tasks.

Open module →
08

Modules & handlers

Use focused modules for state management and handlers for actions that should happen only after a real change.

Open module →
09

Variables, facts & conditionals

Separate data from logic, use discovered host facts and apply tasks only where they make sense.

Open module →
10

Loops & templates

Repeat structured tasks with loops and generate host-specific configuration from Jinja templates.

Open module →
11

Privilege & safety

Use become deliberately, reduce blast radius, preview changes and keep credentials out of automation content.

Open module →
12

Roles & reuse

Organize proven automation into reusable roles and understand where collections fit as projects grow.

Open module →
Prerequisites

You do not need to be a programmer.

Basic Linux command-line familiarity helps. SSH and the YAML needed for Ansible are explained within the course.

Linux basics

Recommended. Files, packages, services and permissions make the examples easier to understand.

SSH

Explained in the course. You should understand that Ansible needs a secure path to authenticate to managed hosts.

YAML / Python

No prior YAML is required. Python programming is not required for the fundamentals course.

Knowledge assessment

Test understanding, not memorization.

The assessment selects 30 questions from an 84-question bank spanning architecture, inventory, modules, playbooks, variables, templates, handlers, safety and roles. Pass mark: 75%.

12 MODULES30 RANDOM QUESTIONSPASS ≥ 75%RESULT RECORDED

Maximum two attempts per 24 hours. The assessment is free and records your result in the Academy.

Course capstone

Build reusable web-server automation.

By module 12 you refactor the course exercises into a reusable role that manages package, configuration and service state, then validate it on a limited host before broader rollout.

InventoryPlaybookVariablesTemplateHandlerRole