image
The Ultimate Drawing Course Beginner to Advanced...
$179
$79
image
User Experience Design Essentials - Adobe XD UI UX...
$179
$79
Total:
$659

Description

This course will teach you what you need to know to deploy Terraform resources properly and efficiently whether you're a beginner or someone looking for some new tricks! We will start with the very basics and methodically build from there, learning new information, tricks, and skills along the way! Most lessons are less than 8 minutes long to help ensure a pace that doesn't put you to sleep! 
In the brand new refreshed sections (July 2024+), you'll build out a Developer Platform that deploys GitHub repositories dynamically for developers. You'll do this using the latest and greatest Terraform skills and functions.
With a focus on using built-in tools to deploy and troubleshoot your deployments, you'll be the only one not having to Google every error you find or copy and paste from Stack Overflow! 
You'll learn important Terraform tools to troubleshoot and build your infrastructure as you roll out a Node-RED IoT application using
Docker
, a Rancher K3s
Kubernetes
deployment on
AWS
, a Kubernetes deployment of pods, and even a full
CICD
deployment using
Terraform Cloud
!
We'll focus on writing efficient code with minimal repetition while utilizing many of Terraform's advanced features such as:
Import       
Join
Min
Max
Local Resource
Variables
Splat
For Loops
Dynamic Blocks
Variable Validation
Path References
String Interpolation
Local and Remote Provisioners
and more! 
The entire course was recorded using quality equipment for ease of listening, intelligent zooming and cursor highlighting to ensure maximum readability and the ability to follow along easily, and annotations where necessary to quickly see web links to visit, important topics, and follow along with the resources more easily.
All of the code in the refreshed sections is tested using Terraform version 1.9+
The refreshed sections will include the latest and greatest Terraform features and functionality. The Legacy sections all are still very useful, but may have a deprecation warning or two.
So what are you waiting for? Sign up today and Terraform Apply Yourself!
Who this course is for:
Devops Engineers
Cloud Engineers
IT
Support

What you'll learn

Terraform

Infrastructure as Code

Docker

AWS

Devops

Hashicorp Configuration Language

Terraform Cloud

Requirements

  • You will need a copy of Adobe XD 2019 or above. A free trial can be downloaded from Adobe.
  • No previous design experience is needed.
  • No previous Adobe XD skills are needed.

Course Content

27 sections • 95 lectures
Expand All Sections
1-Introduction and Prerequisites (REFRESH)
6
1.1-Introduction to the Course
1.2-About the Refresh - READ ME FIRST!!!
1.3-GitHub and Codespaces Setup
1.4-GitHub CLI Permissions
1.5-Install Terraform
1.6-Update Terraform
2-Terraform Fundamentals (REFRESH!)
40
2.1-Providers
2.2-Terraform Init
2.3-Provider Versioning and Dependency Locks
2.4-Backends
2.5-Our First Resource
2.6-Terraform Plan, Apply, and Destroy
2.7-Resource Addresses
2.8-The State File
2.9-Terraform State Commands
2.10-Resources - Terraform Apply Yourself!
2.11-The Random Provider
2.12-Terraform Console and Interpolation
2.13-Count
2.14-Count: Terraform Apply Yourself!
2.15-Splat and Outputs
2.16-Terraform Types
2.17-For Expressions
2.18-Variables
2.19-Variable Precedence
2.20-Variable Validation
2.21-The Contains Function
2.22-Conditionals
2.23-Terraform state rm and refresh-only
2.24-for_each Meta-Argument
2.25-for_each: Terraform Apply Yourself
2.26-The Length Function
2.27-local-exec Provisioner
2.28-local-exec: Terraform Apply Yourself
2.29-depends_on Meta-Argument
2.30-for_each with Maps
2.31-Our Deployment in Action
2.32-ignore_changes Lifecycle Meta-Argument
2.33-Data Sources
2.34-Heredocs and Escape Sequences
2.35-Template Files
2.36-Refactoring and Moved Blocks
2.37-Nested Blocks
2.38-Dynamic Blocks
2.39-The try Function
2.40-More on the Way!
3-Modular Terraform (REFRESH)
4
3.1-First Module
3.2-Path References
3.3-Locals
3.4-Module Outputs
4-Introduction and Prerequisites
11
4.1-Terraform Version Notes (Important!)
4.2-Downloading the Code
4.3-AWS Setup and Cloud9 Info
4.4-New AWS Account Setup
4.5-Configuring Billing Alarms
4.6-Adding Security to your AWS Account
4.7-AWS Cloud9 Configuration
4.8-AWS Cloud9 Disk Expanding
4.9-Security Groups and IP Access
4.10-Terraform Installation (Same Instructions for all Versions)
4.11-Terraform Terminology (Skip if you have passed the exam or are already familiar)
5-Terraform Basics and Docker
36
5.1-Docker Provider Upgrade Notice! (Important!)
5.2-The Docker Provider
5.3-Terraform Init Deeper Dive
5.4-Terraform Dependency Lock (v0.14+ only)
5.5-Your First Terraform Apply!
5.6-Terraform Plan and Apply Deeper Dive
5.7-Referencing other Resources
5.8-Viewing Your Deployment in the Browser
5.9-Terraform State Deeper Dive
5.10-Terraform Console and Outputs
5.11-The Join Function
5.12-The Random Resource
5.13-Multiple Resources and Count
5.14-The Splat Expression
5.15-"For" Loops
5.16-Tainting and Updating Resources
5.17-State Locking and Breaking State
5.18-Terraform Import
5.19-Terraform Refresh and State rm (Updated!)
5.20-Adding Variables
5.21-Variable Validation (v 0.13+ only)
5.22-Variables and Output Files
5.23-Sensitive Variables and .tfvars files
5.24-Variable Definition Precedence
5.25-Hiding Sensitive Variables from CLI (v 0.14+ only)
5.26-The Bind Mount and Local-Exec
5.27-Utilizing Local Values
5.28-Min and Max Functions and the Expand Expression
5.29-Path References and String Interpolation
5.30-Maps and Lookups: the Image Variable
5.31-Maps and Lookups: External Ports
5.32-Terraform Workspaces
5.33-Referencing your Workspaces
5.34-Utilizing Map Keys instead of Lookups
5.35-Terraform Basics Lab: Part 1
5.36-Terraform Basics Lab 2
6-Modular Deployments
22
6.1-Modules Intro
6.2-First Module!
6.3-Module Variables
6.4-Terraform Graph
6.5-Troubleshooting Dependencies
6.6-The Container Module
6.7-Module Outputs
6.8-Module Information Flow
6.9-Docker Volume
6.10-Lifecycle Customization and Targeting
6.11-One Module for Multiple Resources
6.12-Using for_each
6.13-Deploying Containers with for_each
6.14-Using Count and for_each Together
6.15-New Outputs and Map Transformations
6.16-Grafana Apply Yourself!
6.17-Grafana Solution
6.18-Self Referencing and Provisioner Failure Modes
6.19-Terraform Apply Yourself - Self Referencing
6.20-Dynamic Blocks
6.21-Nesting the Volume Module
6.22-Weather Dashboard Project!
7-Deploy AWS Resources with Terraform
44
7.1-What We're Going to Build
7.2-Configuring Terraform Cloud
7.3-The AWS Provider
7.4-Deploy a VPC
7.5-Remote State in Terraform Cloud
7.6-VPC Subnets "Hardcoded"
7.7-VPC Subnets - Terraform Apply Yourself!
7.8-The cidrsubnet() Function
7.9-The aws_availability_zones Data Source
7.10-The random_shuffle Resource
7.11-Why didn't we use for_each?
7.12-Route Tables and the Internet Gateway
7.13-The create_before_destroy Lifecycle Meta Argument
7.14-VPC Security Groups "Hardcoded"
7.15-VPC Security Groups Dynamic
7.16-VPC Security Groups - Terraform Apply Yourself!
7.17-VPC RDS Subnet Group and Conditionals
7.18-Basic RDS Setup
7.19-VPC Outputs for RDS - Terraform Apply Yourself!
7.20-Managing Sensitive RDS Values
7.21-The Terraform Providers Schema Command
7.22-ALB Initial Setup
7.23-ALB Security Group and Subnets - Terraform Apply Yourself!
7.24-ALB Target Group and the uuid and substr functions
7.25-ALB Listener
7.26-Upgrading Terraform (0.14.1+ required for ignore_changes)
7.27-ALB Lifecycle Policies: ignore_changes and create_before_destroy
7.28-The aws_ami Data Source
7.29-Scaffolding Our EC2 Instance and random_id
7.30-EC2 - Terraform Apply Yourself!
7.31-SSH Key for Our Instance and the file Function
7.32-Controlling random_id Changes with Keepers
7.33-Userdata UPDATE! VERY IMPORTANT!
7.34-EC2 User Data and Template Files
7.35-EC2 User Data Template Variables - Terraform Apply Yourself!
7.36-Deploying NGINX to Our Kubernetes Cluster!
7.37-Adding our EC2 Instances to the Target Group
7.38-Adding some Outputs for our Resources
7.39-Sensitive Outputs and How to Access Them
7.40-Terraform Apply Yourself - Outputs!
7.41-Utilizing the local-exec Provisioner to SCP our Kubeconfig File
7.42-Utilizing the remote-exec Provisioner to Run Commands on EC2 Instances
7.43-Terraform Apply Yourself! - Cleanup and Create a Destroy Provisioner
7.44-Deploying K8s Resources from our Cloud9 Instance!
8-Deploying Kubernetes Resources with Terraform
5
8.1-Kubernetes Section Read Me First!
8.2-Configuring the Kubernetes Provider
8.3-Our First Kubernetes Deployment!
8.4-Terraform Apply Yourself- Utilizing for_each in our Deployment
8.5-The terraform_remote_state datasource and the split Function
9-Continuous Deployment using Terraform Cloud
14
9.1-What We're Going to Build
9.2-Update - New Terraform Cloud UI!
9.3-Setting up our Github
9.4-Configuring Terraform Cloud
9.5-Our First Cloud Deployment!
9.6-Configuring Repository-Based Modules
9.7-Utilizing the Configuration Designer to Create a Deployment
9.8-Github Provider version 4.15 currently broken!
9.9-Setting up Providers for our New Deployment
9.10-Configuring our Github Resources in Terraform
9.11-Configuring our Terraform Cloud Resources in Terraform
9.12-Deploying our Module-Based Infrastructure!
9.13-Pushing and Pulling Remote State
9.14-Updating our Deployment and Destroying it