Ansible From Basics to Advanced
Learn Ansible from the ground up to advanced topics: the agentless architecture, inventory, playbooks, modules, variables/templates, roles, vault, writing custom modules, and project-design best practices. Every hands-on part ships real code at github.com/nghiadaulau/ansible-series, practiced on EC2.
Extending Ansible: Filter, Lookup, and Callback Plugins
Modules extend the work done on the host; plugins extend Ansible itself, running on the control node. This article: filter plugins (transform data in Jinja2), lookup plugins (fetch external data), callback plugins (customize output), and the module vs plugin distinction.
Optimization and Execution Strategy
Running Ansible fast and safely across hundreds of hosts: forks and strategy control parallelism, serial for zero-downtime rolling updates, delegate_to/run_once, async for long tasks, fact caching and pipelining for speed, tags and check mode for control.
Testing Roles with Molecule
Before pushing a role to hundreds of hosts, test it. Molecule spins up a throwaway container, applies the role, checks idempotency, and verifies the result — automatically. This article: scenario structure, the create→converge→idempotence→verify→destroy test loop, and version caveats.
Best Practices: Project Structure and Design
Pulling everything into standards: project directory structure, good role design, naming conventions and FQCN, idempotency, secrets management, and using ansible-lint to catch best-practice issues automatically. With a real lint example.
A Complete Project and Series Wrap-Up
Putting it all together: a complete Ansible project that deploys an application with a role following best practices, running idempotently on a real server. Then cleaning up the infrastructure, recapping the journey from ad-hoc to custom modules, and pointers for what to learn next.