Introduction to Ansible

2h 54m 19s
English
Paid

Course description

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 71 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Introduction to Ansible

0:00
/
#1: Welcome to the Course

All Course Lessons (71)

#Lesson TitleDurationAccess
1
Welcome to the Course Demo
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

Unlock unlimited learning

Get instant access to all 70 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Python 3: Deep Dive (Part 4 - OOP)

Python 3: Deep Dive (Part 4 - OOP)

Sources: udemy
Python object oriented programming (OOP).
35 hours 15 minutes 32 seconds
Create UberEats with Python/Django and Swift 3

Create UberEats with Python/Django and Swift 3

Sources: Code4Startup (coderealprojects)
Learn Python & Swift 3 by creating Real-life startup platform with Web dashboard and iOS app like UberEats, Doordash, Postmates.
19 hours 13 minutes 29 seconds
Fullstack Flask: Build a Complete SaaS App with Flask

Fullstack Flask: Build a Complete SaaS App with Flask

Sources: fullstack.io
Build (and deploy) a real SaaS app in 8 weeks using Python and Flask with this self-paced, online course.
7 hours 33 minutes 4 seconds
The Ultimate Django Series: Part 1

The Ultimate Django Series: Part 1

Sources: codewithmosh (Mosh Hamedani)
Have you always wanted to learn Web development with Python but didn't know where to start? Tired of lengthy, confusing, and outdated courses? Look no further.
4 hours 49 minutes 19 seconds
Python - The Practical Guide

Python - The Practical Guide

Sources: udemy
This is a highly practice-oriented Python course that teaches you Python from scratch - no prior programming experience required! Python is probably THE most trending programmin...
16 hours 26 minutes 30 seconds