Skip to content

tas02/Terraform-Full-Course-Azure

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Terraform with Azure - Complete Video Course πŸš€

Welcome to the comprehensive Terraform with Azure video course! This repository contains all code samples and documentation corresponding to each video lesson.

🎯 Course Overview

This course consists of video lessons covering basic to advanced Terraform concepts with Azure cloud, including hands-on projects and real-world scenarios.

πŸ“‹ Prerequisites

  • Azure free account or subscription, follow this video
  • Azure Fundamentals Video Link
  • Visual Studio Code or preferred IDE
  • Git installed and working knowledge of it
  • Linux or Mac or WSL(Windows Subsystem for Linux)
  • Linux and Shell scripting
  • Basic understanding of YAML and JSON
  • Networking Fundamentals
  • IP Addressing Video Link
  • Docker and Kubernetes Fundamentals Playlist Link

πŸ“š Course Curriculum

Module 1: Core Concepts

Day1: Introduction to Terraform

  • Understanding Infrastructure as Code (IaC)
  • Why we need IaC
  • What is Terraform and its benefits
  • Challenges with the traditional approach
  • Terraform Workflow
  • Installing Terraform
  • Code Sample

Day2: Terraform Provider

  • Terraform Providers
  • Provider version v/s Terraform core version
  • Why version matters
  • Version constraints
  • Operators for versions
  • Code Sample

Day3: Resource Group and Storage Account

  • Authentication and Authorization to Azure resources
  • Creating resource groups
  • Storage account management
  • Understanding dependencies
  • Code Sample

Day4: Backend Configuration

  • How Terraform updates Infra
  • Terraform state file
  • State file best practices
  • Remote backend setup
  • State management
  • Code Sample

Day5: Variables

  • Input variables
  • Output variables
  • Locals
  • Variable files (tfvars)
  • Code Sample

Day6: File Structure

  • Terraform file organization
  • Sequence of file loading
  • Best practices for structure
  • Code Sample

Video 7: Type constraints in Terraform

  • String, number, bol
  • Map, set, list, null
  • Locals
  • Code Sample

Video 8: Meta-arguments

  • Understanding count
  • for_each loop
  • for loop
  • Practical examples
  • Code Sample

Video 9: The Lifecycle meta-arguments

  • create before destroy
  • prevent destroy
  • ignore changes
  • replace triggered by
  • customer condition

Video 10: Dynamic Blocks and expressions

  • Dynamic blocks
  • Conditional expressions
  • Splat Expressions
  • practical examples
  • Code samples

Video 11: Functions in Terraform

  • Built-in functions
  • Practical examples
  • tasks for practice
  • Code Sample

Video 12: Functions in Terraform(Continue..)

  • Built-in functions
  • Practical examples
  • tasks for practice
  • Code Sample

Video 13: Data Sources

Module 2: Azure resources using Terraform

Video 14: High available/scalable Infrastructure Deployment ( Mini Project 1 )

  • Creating Virtual Machines
  • VM Scale Sets
  • Network Security Groups
  • Loadbalancer, Nat Gateway, Public IP , Autoscaling rules etc
  • Code Sample

Video 15: VNET and Peering ( Mini Project 2 )

  • Virtual Network Creation
  • VNet peering setup
  • Code Sample

Video 16: Azure AD Authentication ( Mini Project 3 )

  • Authentication methods
  • Service principals
  • Managed identities
  • Code Sample

Video 17: Azure Web Apps ( Mini Project 4 )

  • App Service creation
  • Configuration
  • Deployment
  • Code Sample

Video 18: Azure Functions ( Mini Project 5 )

Video 19: Terraform Provisioners ( Mini Project 6 )

  • What are provisioners and their use case
  • Local vs remote vs file provisioners
  • Demo of all three provisioners
  • Code Sample

Video 20: AKS Cluster ( Real-time Project 1)

  • Kubernetes cluster setup
  • Custom module usage
  • Custom module creation for AKS, KeyVault, SPN etc
  • Code Sample

Video 21: Azure Policy and Governance ( Mini Project 7 )

Video 22: Azure SQL Database ( Mini Project 8 )

Video 23: Azure Monitoring ( Mini Project 9 )

  • Metrics alerts
  • Action Groups
  • Log analytics workspace
  • Log alerts
  • Code Sample

Module 3: Advanced Concepts

Video 24: Terraform Modules (Real-time project 2)

  • Public modules
  • Custom modules
  • Creating and publishing modules
  • Project Files

Video 25: Terraform Cloud and Workspaces

Video 26: Azure DevOps with Terraform (Real-time project 3)

Video 27: 3-Tier Architecture (Real-time project 4)

Video 28: AKS Upgrade with Zero Downtime (Real-time project 5)

πŸ“‚ Repository Structure

β”œβ”€β”€ lessons/
β”‚   β”œβ”€β”€ 01-introduction/
β”‚   β”œβ”€β”€ 02-terraform-provider/
β”‚   └── ...
β”œβ”€β”€ projects/
β”‚   β”œβ”€β”€ 14-vmss/
β”‚   β”œβ”€β”€ 15-vnetpeering/
β”‚   β”œβ”€β”€ 16-azuread
β”‚   └── 17-webapp
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ setup.md
β”‚   └── troubleshooting.md
└── README.md

πŸŽ“ Learning Path

  1. Follow videos in sequence
  2. Complete hands-on exercises
  3. Implement projects
  4. Practice with provided code samples

πŸ“ License

MIT License - see the LICENSE file for details.

πŸ”— Resources

About

Terraform Tutorial For Beginners by piyush sachdeva

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 99.2%
  • Shell 0.8%