0 / 13 lessons — 0%
Lesson 01 / 13 🧰

Why Ansible? Agentless config management

Say you need to add one line to an nginx config on 40 servers. SSH into each one by hand and you'll typo something on server 27 and never notice. Tools that solve this at scale generally fall into two camps.

AGENT-BASED (Puppet, Chef) master host 1 — agent daemon running host 2 — agent daemon running host 3 — agent daemon running AGENTLESS (Ansible) control node ssh host 1 — nothing installed host 2 — nothing installed host 3 — nothing installed
Agent-based tools need a daemon on every managed host. Ansible needs Python and an SSH connection — nothing more.

Ansible connects over regular SSH (the same connection you'd use to log in by hand), copies over a small Python script, runs it, and disconnects. No daemon left running, no agent to keep updated, no extra open port to secure. If a machine has SSH access and Python, Ansible can manage it.

Agent-basedAnsible
Daemon must be installed & running on every hostNothing persistent installed on managed hosts
Own custom protocol/portPlain SSH — already open, already audited
Hosts pull config periodicallyYou push changes on demand, when you run a playbook
Before lesson 2Say this once: "Ansible describes desired state in YAML, and pushes it out over SSH — no agents." That's 90% of what makes Ansible different from the config management tools that came before it.