Ansible is a simple to understand, simple to adopt, simple to use IT configuration management and automation tool. With the Ansible Essentials course, you can start from the basics and go all the way to creating your own playbooks and roles with Ansible.
This is a focused course designed to rapidly get you up to speed on using Ansible automation engine in real life. As an IT professional, you'll develop a solid understanding of Ansible and will be able to apply it to daily automation and configuration management tasks.
Ansible Essentials course includes lots of examples and hands-on labs and aims at providing students with first-hand experience with course concepts. You can follow along the course by setting up your own lab environment. A Vagrant environment is used throughout the course, and in the appendix, you'll find detailed lectures showing you how to set up one for yourself.
Each lecture introduces a new Ansible concept. Concepts are first explained, and then relevant examples are provided. Some of them are also demoed in the lab environment showing you how they can be applied to playbooks. And finally, we apply the concept to our LAMP Stack playbooks.
Course follows a progressive path that mirrors a real-world approach to automation. It's divided into five sections, starting with the architectural overview and foundational concepts. In section 2, we'll install Ansible automation engine and learn about inventory, which is the first thing we need to get started automating tasks with Ansible. We'll learn ad-hoc commands and also discover some of Ansible's commonly used modules in section 3.
Then we'll move on to ansible playbooks. Playbooks let us use fully-fledged configuration management and orchestration capabilities of Ansible. Ansible playbooks are written in YAML, so before diving into the details of playbooks, we'll do a YAML overview. Then, we'll learn about playbook basics, including playbook structure, idempotency, and tasks. We'll learn how to run a playbook, check its syntax, and control its output with verbose.
Then we'll start building our 3 tier web application. In each lecture, we'll learn one or more ansible features, and we'll apply them to our project. In this part of the course, you'll learn about handlers, Jinja2 templating, loops, variables, error handling, and much more. At the end of this section, you'll have prepared playbooks that can deploy a fully functional multi-node LAMP stack on your machines.
In section 5, we'll cover how to organize playbooks more effectively where you'll learn about imports, includes, and roles. We'll refactor the playbooks into roles and make them easy to share and reuse.
This course is based on Red Hat® Ansible Engine 2.8 and CentOS Linux 7.7. By following along the course, you'll learn how to set up a 3-tiered web application environment that leverages Apache2, Python, and MySQL on CentOS machines.