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
Requirements
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.
Description
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.
Overview
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