Learn DevOps Infrastructure Automation With Terraform

Learn how to automate your infrastructure with terraform. Covers Terraform with AWS, Packer, Docker, ECS, EKS, Jenkins
Learn DevOps Infrastructure Automation With Terraform
File Size :
3.67 GB
Total length :
11h 42m



Edward Viaene


Last update




Learn DevOps Infrastructure Automation With Terraform

What you’ll learn

Understand, use and apply terraform, including advanced terraform features
Use terraform to provision AWS resources
Prepare for the HashiCorp Terraform Certification with lectures aligned with the exam objectives
Use terraform with Packer to create custom images
Use terraform with AWS ECS, Fargate, and CodePipelines
Be able to apply DevOps techniques using terraform

Learn DevOps Infrastructure Automation With Terraform


To be able to do the demos yourself, you should have an AWS account. You can open one for free and I explain how to open one in the course.


Terraform has gained a lot in popularity lately and is the tool you need to master if you are or about to get into a Ops / DevOps role. You typically use a technology like Ansible, Chef, or Puppet to automate the provisioning of software. Terraform starts from the same principle, infrastructure as code, but focusses on the automation of the infrastructure itself. Your whole Cloud infrastructure (instances, volumes, networking, IPs) can be described in terraform. In this course you’ll learn how to use terraform to automate your infrastructure. I will first show you the basics of terraform and will then explain how to automate infrastructure on AWS using terraform. You can open an AWS account for free to do the labs. I also provide a lot of code examples which you can immediately use to automate your own infrastructure.Update (Oct-2016):Added AWS Autoscaling lecturesAdded Terraform+Packer Jenkins integration lecturesAdded Terraform with Docker on AWS (ECR and ECS)Added Terraform with Jenkins workflow using ECR and ECSUpdate (Dec-2016):Added a lecture about useful terraform commandsAdded a demo on how to use terraform show/graph/taint/untaint/importAdded a lecture and demo about Elastic Beanstalk on AWSUpdate (Jun-2018):Terraform for Windows setup + puttygenInterpolationConditionalsBuilt-in functionsModule development with an ECS + ALB module demoSetting up a hosted Kubernetes cluster using AWS EKSUpdate (Nov-2019):Terraform-0.12 updatesLectures covering new variable approach in terraform-0.12For & For Each loopsUpdate (March-2020):CodePipeline lecturesUpdated lectures with new AWS UIUpdated jenkins-packer-demo demoUpdate (December-2020):Advanced Module developmentLectures and demos covering new Terraform 0.13 featuresTerraform lock file (terraform 0.14)State manipulationUpdate (December-2020):A complete new section on the HashiCorp Terraform Certification has now been added!Update (January-2022):Refactoring modules with the “moved” blockCloud Development Kit For Terraform (CDKTF)This course includes english captions.


Section 1: Course Introduction

Lecture 1 Course Introduction

Lecture 2 Discussions and Support

Lecture 3 Procedure Document

Section 2: Introduction to terraform

Lecture 4 Introduction

Lecture 5 Terraform installation

Lecture 6 Terraform Installation (on Windows)

Lecture 7 Terraform installation using Vagrant

Section 3: Terraform basics

Lecture 8 Understanding terraform HCL

Lecture 9 First steps in terraform – AWS Setup

Lecture 10 First steps in terraform – Spinning up an instance

Lecture 11 First steps in terraform – summary

Lecture 12 Terraform Variable Types

Section 4: Terraform basics

Lecture 13 Variables

Lecture 14 Demo: variables

Lecture 15 Software Provisioning

Lecture 16 Demo: Software provisioning

Lecture 17 Demo: Windows Server Provisioning

Lecture 18 Outputting attributes

Lecture 19 Demo: Outputting Attributes

Lecture 20 Remote state

Lecture 21 Demo: Remote state

Lecture 22 Data Sources

Lecture 23 Demo: Data Sources

Lecture 24 Templates

Lecture 25 Templates in terraform 0.12 onwards

Lecture 26 Other Providers

Lecture 27 Modules

Lecture 28 Demo: An external Module

Lecture 29 Terraform Commands Overview

Lecture 30 Demo: Terraform Commands

Section 5: Terraform with AWS

Lecture 31 Introduction to VPCs

Lecture 32 Introduction to VPCs – Part II

Lecture 33 Introduction to VPCs – Part III

Lecture 34 Demo: VPCs and NAT

Lecture 35 Launching EC2 instances in the VPC

Lecture 36 Demo: Launching instances in a VPC

Lecture 37 EBS Volumes

Lecture 38 Demo: EBS volumes

Lecture 39 Userdata

Lecture 40 Demo: Userdata

Lecture 41 Static IPs, EIPs, and Route53

Lecture 42 Demo: Route53

Lecture 43 RDS

Lecture 44 Demo: RDS

Lecture 45 IAM

Lecture 46 Demo: IAM users and groups

Lecture 47 IAM Roles

Lecture 48 Demo: IAM Roles

Lecture 49 Autoscaling

Lecture 50 Demo: Autoscaling

Lecture 51 Introduction to Elastic Load Balancers (ELB)

Lecture 52 ELBs in terraform

Lecture 53 Demo: ELB with autoscaling

Lecture 54 Application Load Balancer (ALB)

Lecture 55 Elastic Beanstalk

Lecture 56 Demo: Elastic Beanstalk

Section 6: Advanced Terraform Usage

Lecture 57 Introduction to Interpolation

Lecture 58 Conditionals

Lecture 59 Demo: Interpolation and Conditionals

Lecture 60 Built-in Functions

Lecture 61 Demo: Built-in Functions

Lecture 62 For and For Each Loops

Lecture 63 Demo: For loops

Lecture 64 Demo: For each loops

Lecture 65 Terraform Project Structure

Lecture 66 Demo: Project Structure in Terraform

Lecture 67 Terraform lock file

Lecture 68 Manipulating state

Lecture 69 Demo: Manipulating state

Section 7: Packer

Lecture 70 Packer introduction

Lecture 71 Terraform with Packer and Jenkins

Lecture 72 Demo: Packer with terraform

Lecture 73 Terraform with Packer and Jenkins (Part I)

Lecture 74 Terraform with Packer and Jenkins (Part II)

Section 8: Docker on AWS using ECS and ECR

Lecture 75 Introduction to Docker

Lecture 76 Docker on AWS

Lecture 77 Building Docker images

Lecture 78 Demo: Build NodeJS app and push to ECR

Lecture 79 ECS – Part I

Lecture 80 ECS – Part II

Lecture 81 Demo: Running a NodeJS app on ECS

Lecture 82 Demo: Terraform with Jenkins, ECR and ECS

Section 9: Module Development

Lecture 83 Introduction to Module Development

Lecture 84 ECS + ALB Module Overview

Lecture 85 Demo: ECS + ALB Module (part I)

Lecture 86 Demo: ECS + ALB Module (Part II)

Lecture 87 Demo: ECS + ALB Module (Part III)

Section 10: Advanced Module Development

Lecture 88 Introduction to Advanced Module Development

Lecture 89 The difference between count and for_each

Lecture 90 Demo: for_each with modules

Lecture 91 Demo: Complex data types and the flatten() function

Lecture 92 Refactoring modules

Section 11: AWS CodePipeline (Continuous Delivery / Deployments)

Lecture 93 Introduction to AWS CodePipeline

Lecture 94 Demo: CodePipeline (part I)

Lecture 95 Demo: CodePipeline (part II)

Lecture 96 Demo: CodePipeline (Part III)

Section 12: AWS EKS (hosted Kubernetes)

Lecture 97 Introduction to AWS EKS

Lecture 98 Demo: AWS EKS

Section 13: HashiCorp Certification

Lecture 99 Introduction to the HashiCorp Infrastructure Automation Certification

Lecture 100 Understanding Infrastructure as Code (IaC)

Lecture 101 Understanding terraform basics

Lecture 102 Understanding terraform basics – provisioning

Lecture 103 Using the Terraform CLI

Lecture 104 Interact with terraform modules

Lecture 105 Interact with terraform modules: inputs & outputs

Lecture 106 The terraform module registry

Lecture 107 The terraform workflow

Lecture 108 Implement and maintain state (part I)

Lecture 109 Implement and maintain state (part II)

Lecture 110 Read, generate and modify configuration (input variables)

Lecture 111 Read, generate and modify configuration (output variables, locals)

Lecture 112 Resources and Datasources

Lecture 113 Resources and Datasources (resource addresses)

Lecture 114 Resources and datasources (functions and loops)

Lecture 115 Secret Injection (Long lived vs short lived)

Lecture 116 Terraform Cloud

Section 14: Cloud Development Kit For Terraform

Lecture 117 Introduction to Cloud Development Kit for Terraform

Lecture 118 Demo: Introduction to cdktf

Section 15: Course Completion

Lecture 119 Congratulations

Lecture 120 Bonus Lecture: My Other Courses

This course is great if you’re in an Ops or DevOps position and you want to learn about automation using terraform

Course Information:

Udemy | English | 11h 42m | 3.67 GB
Created by: Edward Viaene

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top