Learn how to apply Infrastructure as Code (IaC) with Terraform. Covers Web Apps, Database, VM, Kubernetes and Azure.
☑ Automate infrastructure deployment to the cloud
☑ Create Terraform templates
☑ Working with the “Execution Plan”
☑ Sharing and locking the State file
☑ Deploy into dev/test and production
☑ DevOps CI/CD pipelines for Terraform
☑ GitOps with Atlantis
☑ Creating and deploying Web Apps, Databases, VMs, Storage, Kubernetes clusters
☑ Deploy to multiple cloud platforms using Modules
☑ Troubleshooting Terraform
☑ Applying Infrastructure as Code (IaC)
Terraform is becoming the standard when it comes to deploying infrastructure into the cloud or on premise.
In this course you will learn how to create and deploy Terraform templates.
We will work with the different Terraform commands like init, plan, apply and destroy.
We’ll explore terraform features like input and output parameters, the execution plan and the remote backend state.
We’ll write templates for Web Apps, SQL Database, VMs, Storage, Kubernetes clusters and many more.
We’ll create the DevOps CI/CD pipelines using Azure DevOps and Github Actions to deploy into multiple environments: dev, test and prod.
Then we’ll implement GitOps for Terraform using Atlantis.
Along all these demonstrations you’ll also learn the Best practices in terms of security, configuration and scalability.
I hope you are ready and excited for this journey!
Bring a coffee and lets get started.
- Intro to Terraform (Init, Plan, Apply, Delete)
- Requirements (Terraform, Azure subscription, Azure CLI, VS Code+TF plugin, any OS)
- Deploying Resource Group into Azure
- Pay Attention to Resource Recreation
- Validate and Format Templates
- Deploying Web App
- Adding Variables File
- Creating Variables in .tfvars Files
- Overriding Variables in the command line
- Creating Output Variables
- Overview of Terraform Plan
- Working with Remote Backend State
- Deploying SQL Server with a Database
- Deploying and configuring Web App and SQL Server
- Deploying Linux VM
- Deploying Windows VM with Azure Bastion
- Deploying AKS cluster
- Deploying AKS with Managed Identity and ACR
- Functions (for each, for, count, if/else, random, lower, upper, min, max…)
DevOps with Terraform
- Deploy Terraform templates using Azure DevOps
- Configuring the CI/CD pipelines
- Data Source
- Testing TF with Terratest
- Deploy to AWS and GCP
- GitOps with TF (Atlantis…)
- TF with ARM
- TF competitors: Ansible, Pulumi, ARM, Cloud Formation
- TF Providers for Kubernetes, Helm, Docker, GIT…
Create the first terraform template
Terraform init, plan and apply
Validation and formatting a template
Input & output variables
Creating a template for Azure Web App
Deploying Web App
Overriding variables with .tfvars
Overriding variables with command line
Terraform execution plan
Execution plan overview
Execution plan demo
Terraform state overview
Terraform state demo
Deploy Web App and SQL Database
Deploy Linux VM
DevOps for Terraform
CI/CD Pipelines using Azure DevOps
Deploy to multiple environments