Master Ansible: Automate Your Infrastructure Like a Pro
Learn the skills that got me hired in Silicon Valley – with hands-on, real-world Ansible experience.
I'm an 8+ year Ansible professional and I designed this course to take you from beginner all the way to writing advanced, production-ready Ansible in the shortest time possible. You'll start with "Hello, World!" then iterate to build a production-grade Ansible project to deploy and manage a complex architecture.
Gain expertise that’s highly sought after in DevOps, SRE and sysadmin roles
Automate server provisioning, configuration, and application deployments
Master Ansible fundamentals: Projects, Playbooks, Modules, Roles
Learn advanced Ansible features like Vault, Molecule, Dynamic Inventory and more
See the Project and Playbook structure of an Ansible pro
Make working in Ansible feel effortless
In this course you'll build a scalable, production-ready multi-tier web application architecture using Ansible.
You'll grow from a single server to a multi-server, three-tier setup with load balancer, app servers, and a replicated database. This project is the ideal focus because the problems you'll solve are common to almost all complex systems.
You'll tackle challenges like software management, configuration, replication, and multi-host coordination—skills essential for AI platforms, big data systems, Kubernetes clusters, or virtually any other distributed system.
Learn Ansible fundamentals like playbooks and modules by using them to manage software and files on a remote system.
Use Ansible to manage multiple remote machines, develop reusable roles, deploy application code from Git and set up database replication.
Use Ansible to manage many hosts of different kinds, orchestrate complex maintenance operations, manage secrets and unit test your code.
Get instant access with simple pricing options.
Full lifetime access + all future updates
Welcome and course structure
FREE PREVIEWInstructor
FREE PREVIEWPrerequisites
FREE PREVIEWAnsible dev environment setup
FREE PREVIEWGetting help and support during the course
Share
Chapter 1 introduction
FREE PREVIEWEssentials of an Ansible project and anatomy of a playbook
FREE PREVIEWFlesh out the playbook with the "debug" module
FREE PREVIEWInstall nginx with the “shell” module
FREE PREVIEWFind modules using the Ansible docs
FREE PREVIEWEnsure nginx is installed with the "apt" module and "become"
FREE PREVIEWEnsure the static site directory exists with the "file" module and "diff" mode
FREE PREVIEWCopy static HTML files onto the VM with the "copy" module
Update nginx config with "copy" and reload the service with the “service” module
Make the playbook idempotent using "handlers"
DRY out the playbook using variables and the "template" module
Chapter 1 review
Chapter 1 project: Static web server with apache
Chapter 1 project review/example solution
Chapter 2 introduction
Going from one to many hosts: Ansible’s execution strategies and error handling
Deploying application code with the “user” and “git” modules
Creating and starting the web application service with the “pip” and “systemd” modules
Convert our webapp tasks, variables and template into a "webapp" role
Create an nginx role with the "apt_key" and "apt_repository" modules, iterating quickly with "tags"
Proxy the webapp via nginx
Update the webapp settings without breaking idempotence using the “synchronize” module and loops
Create a postgres role using "jinja filters"
Use postgres db instead of sqlite using the "postgresql" collection of modules and advanced looping
Prepare servers for postgres replication using conditional tasks, variable precedence and "group_vars "
Enable postgres replication using "host_vars", "include_tasks" and "blocks"
Deploy updates to application code by reusing existing code
Ansible’s power as an orchestrator: create a failover playbook
Chapter 2 review
Chapter 2 project: New webapp role in a language other than Python
Chapter 2 project review/example solution
Chapter 3 introduction
Updating important software versions
First steps to a multi-tier architecture: use Ansible "groups" to target multiple VMs in a new playbook
Adapt the "postgres" role to the multi-tier architecture using Ansible's special "hostvars" variable
Adapt the "webapp" role to the multi-tier architecture by using the "generic tasks" pattern
Create a failover playbook for the multi-tier architecture
Add a software firewall to our hosts by reviewing and installing an open-source role using Ansible Galaxy
Simple and secure secret management with Ansible Vault
Test your Ansible roles with Molecule and Docker
Add environment support and deploy to production in EC2 using Ansible Dynamic Inventory
Speed up your Ansible playbooks by managing latency and using forks, Pipelining or Mitogen
Chapter 3 review
Chapter 3 project: apply Ansible to a real-world project
Congratulations
Course Recap
Yes, I regularly add and update content, and make sure that the course works with the latest versions of Python and Ansible. I also iterate on the course by incorporating feedback from students who have taken the course. If you purchase full lifetime access you'll have access to all future updates and improvements.
Updates are happening constantly! The chapter 3 lessons were just finished in Q1 2025. I test the code with the latest Ansible and Python versions, and make updates as necessary.
If you buy the course and aren't satisfied, simply contact me within 14 days of your purchase and I will refund your full purchase price. I work very hard to make this course valuable for everyone, so if you could give me specific feedback why the course was not valuable to you that would be a huge help for me and future students of the course.
I have done my best to make this course valuable for people with a range of industry experience. I'm presuming that most people that would like to take this course have some background in system administration, DevOps, SRE, NSE or some kind of programming. The only firm prerequisites for this course are: basic knowledge of Linux system administration (e.g. you could SSH into a Linux machine and edit a file or start/stop a service), your dev machine is set up for SSH, you have a code editor or IDE you're familiar with, Python 3 and pip installed, and optionally for Windows users: WSL set up and working. The development environment setup for the course works for Windows, Mac and Linux host operating systems.
Yes, all the course code (including the virtual machine development environment) works with Windows, Mac and Linux host operating systems. The virtual machines you create in the course will be running Linux, but the VM software works on all host operating systems. Ansible code is portable and just requires Python 3 to run.