Deploy Infra in the Cloud using Terraform
- 4.7
Brief Introduction
Learn how to apply Infrastructure as Code (IaC) with Terraform. Covers Web Apps, Database, VM, Kubernetes and Azure.Description
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.
Current plan:
00_Intro
Intro to Terraform (Init, Plan, Apply, Delete)
Requirements (Terraform, Azure subscription, Azure CLI, VS Code+TF plugin, any OS)
01_ResourceGroup
Deploying Resource Group into Azure
Pay Attention to Resource Recreation
Validate and Format Templates
02_WebApp
Deploying Web App
Adding Variables File
Creating Variables in .tfvars Files
Overriding Variables in the command line
Creating Output Variables
03_ExecutionPlan
Overview of Terraform Plan
Demo
04_TF_State
Working with Remote Backend State
Upcoming lectures:
Deploying SQL Server with a Database
Deploying and configuring Web App and SQL Server
Deploying Linux VM
Deploying AKS cluster
Deploying AKS with Managed Identity and ACR
Data Source
Functions (ForEach…)
Workspaces/Environments
Testing TF with Terratest
DevOps
Modules, Multicloud
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…
Requirements
- Requirements
- Basic cloud services
Knowledge
- 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)