Hands-On Infrastructure Automation with Ansible

Hands-On Infrastructure Automation with Ansible

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 6h 04m | 797 MB

A practical course for beginners to Ansible. Learn to deploy applications the right way

Ansible is an infrastructure automation framework; other examples include Chef, Puppet, and SaltStack. While each framework offers its own unique features, Ansible has an advantage: simplicity. Ansible configuration uses simple, compact, and clean YAML files that are easy to understand and maintain. Ansible is agentless, which means Ansible itself doesn’t need to be installed on target machines. At the same time, while Ansible is simple to learn, it is powerful and extensible, making it the perfect choice even for demanding tasks such as configuring an entire OpenStack cluster.

This video course will show you how to use Ansible to automate deployment so you can quickly and reliably run and upgrade your applications. You will learn how Infrastructure Automation results in cost reduction, productivity, availability, reliability, and performance. You will follow along step-by-step on a real Ansible deployment of dotCMS, an open-source Content Management System (CMS), which will deliver content to websites, intranets and mobile apps. You will gain real-world experience that will get you started quickly on your own deployments. This will include information on all of Ansible’s core concepts and features, including playbooks, tasks, roles, templates, variables, and modules.

By the end of the course, you will be able to create and maintain Ansible playbooks, roles, and custom modules, enabling you to make full use of Ansible as part of a DevOps or automation strategy.

This video course uses the deployment of a real open-source content management system across multiple servers, including database installation and configuration, to illustrate Ansible concepts and capabilities.

What You Will Learn

  • Create a rapid reliable application deployment.
  • Structure your Ansible configuration for easy maintenance.
  • Manage multiple servers from a single Ansible environment with different and overlapping configuration
  • Perform advanced tasks simply with structured data.
  • Build custom Ansible roles and modules.
  • Easily edit variables in encrypted files, and seamlessly decrypt data.
Table of Contents

What Ansible Can Do
1 The Course Overview
2 Ansible Demo
3 DevOps and Immutable Infrastructure
4 Ansible As a Choice for DevOps
5 Ansible Install and Remote Management
6 Running Ansible Commands

Exploring Inventory and Playbook Usage
7 Ansible Inventory File
8 Introduction to Playbooks
9 Using Tasks and Handlers
10 Configuring Systems through the Inventory
11 Creating Inventory Groups
12 Controlling Playbook Runs

Applying Roles to Multiple Systems
13 Create and Use Roles
14 Applying Commonly Used Modules
15 Getting Roles from Ansible Galaxy
16 Using Role Handlers, Files, and Templates
17 Role Dependencies

Using the Template Library
18 Writing Out Files from a Template
19 Template Flow Control
20 Repeated Configuration Content
21 Using Defaults and Filters
22 Defining Reusable Blocks and Inheritance

Maintaining Roles and Templates with Variables
23 Using Variables for All Roles
24 Exploring Ansible Facts
25 Applying Variables to Groups and Hosts
26 Using Variables to Control Tasks
27 Registering Results in Variables
28 Using Lists and Dictionaries in Tasks

Storing Your Project Files in the Vault
29 Ansible Vault Purpose
30 Encrypt and Decrypt Files
31 Create Vault Password Files
32 Encrypting Files for Delivery

Building Custom Modules for Tasks
33 Ansible Module Structure
34 Module Arguments and Results
35 Module Idempotence
36 Module Check Mode and Module Testing
37 Module Documentation and Metadata

Using Ansible with Other Tools
38 Ansible Docker Connector
39 Ansible with Vagrant
40 Ansible and Vagrant Custom Variables
41 Ansible and Packer
42 Using Packer and Ansible to Build Docker Images