Introduction to Ansible

2h 54m 19s
English
Paid

A course by Matt Makai of Full Stack Python for software developers who want to learn the Ansible configuration management tool for managing servers, deploying web applications and performing DevOps tasks.

Read more about the course

Most books and courses only walk you through the narrow happy path through the difficult programming forest. When you step off the path you can feel lost and frustrated because the instructor is no longer there to keep you on track.

This course takes a different approach where I show you the mistakes and errors that you will commonly run into when using Ansible, such as:

  • Handling Python 3 instead of 2 as a default remote server installation
  • Identifying and fixing typos in command line arguments and file paths
  • Tweaking configurations for services that need to start in certain orders
  • Upgrading privileges when permissions are denied in running tasks
  • Working with Ansible modules that have specific Python dependencies such as psycopg2 for PostgreSQL
  • Fixing shell script commands running within Ansible tasks

The best way to learn a new software development library is to pair program with a more experienced developer. That's why most of this course is live coding with explanations of what we are doing and why along the way. View the full course outline for more details.

Learn Ansible by configuring servers and deploying applications

Ansible is a stable, widely-used open source configuration management tool that works amazingly well for application deployments in any programming language, not just Python web apps.

During this course we will build several Ansible playbooks together so we can learn the tool's core concepts including:

  • Modules
  • Tasks
  • Roles
  • Templates
  • YAML syntax
  • Variables
  • Encryption

We'll build playbooks that demonstrate these concepts and connect them together by configuring servers and handling deployments.

Who is this course for?

The ideal student for this course is someone with the ability to create web applications (even simple ones) who wants to learn Ansible and configuration management to automate working with servers and application deployments.

If you don't know any programming at all, you'll want to take a primer first. I recommend you take the free MIT course Introduction to Computer Science and Programming Using Python.

If you don't know Python, consider taking Michael's Python Jumpstart by Building 10 Apps course. You do not need to know Python to learn Ansible but a bit of knowledge will help understand some of the edge case issues we debug in this course.

Watch Online Introduction to Ansible

Join premium to watch
Go to premium
# Title Duration
1 Welcome to the Course 01:44
2 Why Ansible? 04:21
3 Obtaining the Source Code 00:33
4 Meet Your Instructor 03:23
5 Working with Ansible 03:26
6 Thank you to our sponsor, DigitalOcean 00:38
7 Configuring Ansible on macOS 02:53
8 SSH Keys on macOS 01:55
9 Options for Using Ansible on Windows 01:30
10 Configuring Ansible on Ubuntu 03:12
11 SSH Keys on Ubuntu 01:46
12 Core Ansible Concepts Overview 04:44
13 Modules 04:17
14 Tasks 02:09
15 Running Ad Hoc Tasks 02:35
16 Roles 02:19
17 Playbooks 01:18
18 Inventory 01:37
19 YAML 01:57
20 Applying the Ansible Concepts 00:43
21 Writing Our First Playbook 01:01
22 YAML in the Playbook File 01:49
23 Sign up for DigitalOcean 01:09
24 Provision A Server 01:34
25 Create A New SSH Key 02:24
26 Creating Our First Role 04:12
27 Adjusting Output Verbosity 01:52
28 New Users with the group, user and authorized_key Modules 03:34
29 Reviewing Our First Playbook 00:55
30 Working with Data 01:35
31 Ansible Variables 03:12
32 Environment Variables 02:28
33 What are Templates? 01:13
34 Working with Templates 03:38
35 Encrypting Data 01:09
36 Ansible Vault 03:02
37 Using Data 00:55
38 Configuring Servers 01:33
39 New Playbook Scaffolding 01:08
40 Provisioning Two Servers 01:11
41 Our New Inventory File 01:06
42 Initial Configuration Playbook 06:17
43 Creating a Non-root User 02:43
44 Installing System Packages with the apt Module 01:39
45 Testing Our Playbook 01:12
46 Setting up Firewalls with the ufw Module 02:20
47 Splitting Web Server and Database Server Roles 04:25
48 Running Nginx 01:42
49 The template Module for Configuration Files 02:32
50 Installing PostgreSQL 03:35
51 PostgreSQL Management with the postgresql_db and postgresql_user Modules 04:44
52 Testing the Database Connection 00:59
53 Reviewing Ansible Modules for Server Configuration 00:35
54 Learning Ansible Modules by Deploying 03:09
55 DNS Configuration 01:45
56 Enhancing Our Playbook and Let's Encrypt 02:46
57 SSL Certificates with the shell and stat Modules 05:42
58 Enhancing the Nginx Template 05:41
59 Testing the Nginx Tasks 03:02
60 Deploy Keys on GitHub 05:54
61 Cloning Repositories with the git Module 01:43
62 Installing App Dependencies with venv and pip3 03:17
63 Using the start-at-task Argument 02:07
64 Configuring Supervisor with the service and pause Modules 03:51
65 Solving Template File Name Issues 01:27
66 Fixing Our Nginx Configuration 03:01
67 Serving Static Assets 01:02
68 Updating Config Files with the lineinfile Module 03:06
69 Learning Ansible with A Deployment Recap 01:11
70 Course Recap 02:30
71 What to Investigate Next 02:42

Similar courses to Introduction to Ansible

DevOps Deployment Automation with Terraform, AWS and Docker

DevOps Deployment Automation with Terraform, AWS and Dockerudemy

Category: AWS, Docker, Python, Terraform
Duration 10 hours 59 minutes 9 seconds
The Ultimate Django Series: Part 2

The Ultimate Django Series: Part 2codewithmosh (Mosh Hamedani)

Category: Python, Django
Duration 5 hours 41 minutes 6 seconds
100 Days of Code: The Complete Python Pro Bootcamp

100 Days of Code: The Complete Python Pro Bootcampudemy

Category: Python
Duration 54 hours 16 minutes 30 seconds
Python Mega Course: Learn Python in 60 Days, Build 20 Apps

Python Mega Course: Learn Python in 60 Days, Build 20 Appsudemy

Category: Python
Duration 51 hours 19 minutes 24 seconds
Deep Learning A-Z™: Hands-On Artificial Neural Networks

Deep Learning A-Z™: Hands-On Artificial Neural Networksudemy

Category: Python, Data processing and analysis
Duration 22 hours 36 minutes 30 seconds
Object-Oriented Programming

Object-Oriented Programmingprogrammingexpert.io

Category: Others, Python
Duration 4 hours 36 minutes 7 seconds
Secure APIs with FastAPI and the Microsoft Identity Platform

Secure APIs with FastAPI and the Microsoft Identity PlatformTalkpython

Category: Python
Duration 1 hour 45 minutes 17 seconds
Statistics Bootcamp (with Python): Zero to Mastery

Statistics Bootcamp (with Python): Zero to Masteryzerotomastery.io

Category: Python, ChatGPT, Data processing and analysis
Duration 20 hours 50 minutes 51 seconds
2022 Python for Machine Learning & Data Science Masterclass

2022 Python for Machine Learning & Data Science Masterclassudemy

Category: Python, Data processing and analysis
Duration 44 hours 5 minutes 31 seconds
API Testing with Python 3 & PyTest, Backend Automation 2022

API Testing with Python 3 & PyTest, Backend Automation 2022udemy

Category: Python
Duration 13 hours 59 minutes 14 seconds