Terraform Poster
UPCOMING BATCH

Terraform with MultiCloud

By Mr. Balaji Reddy, Sr. DevOps Consultant

  • Training from Industry Expert
  • Real-Time Projects & Assignments
  • Individual Attention
  • Hands-on Practicals / Projects
  • Debugging & Troubleshooting Support
  • 6 Months Access to Recordings
FREE DEMO ON: 28th June 2025
8:15 AM – 9:45 AM IST
REGULAR CLASSES FROM: 1st July 2025
8:15 AM – 9:45 AM IST

Terraform
With Multi-Cloud Syllabus

• Problems with Traditional Infrastructure Management
• What is Infrastructure as Code?
• Traditional vs IaC-based provisioning
• Benefits of IaC in DevOps
• IaC vs Configuration Management
• Why Terraform?

• Installing Terraform on Windows/Linux/Mac
• Terraform CLI and commands overview
• Introduction to HCL (Hashi Corp Configuration Language)

• Terraform Top-Level Blocks
   a) Fundamental Blocks Overview
            1) terraform block
            2) provider block
            3) resource block
   b) Variable Blocks
            4) Input Variables
            5) Output Values
            6) Local Values
   c) Referencing & Reusability
          7) data sources block
          8) module block
• Providers, Resources, and Data sources overview
• Writing your first Terraform file (main.tf)

• Providers and Backend configuration
• Resource Syntax & Behavior
• Resources and Arguments
• Meta Arguments (count, depends_on, for_each, lifecycle)

• terraform init
• terraform plan
• terraform apply
• terraform destroy
• terraform show, taint, untaint, import, refresh

• Variable types: String, Number, Boolean, List, Map
• Default values and validation
• Environment variables
• Using locals and terraform console

• Built-in functions: String, Numeric, Collection, etc.
• Using expressions for conditions, loops, and data transformations
• Dynamic Expressions
• Dynamic Blocks

• Terraform state (.tfstate)
• Backends: Local vs Remote
• Remote state with:
✓ AWS S3 + DynamoDB (for locking)
✓ Azure Blob Storage
• State locking and consistency
• terraform state subcommands

• What are Modules?
• Creating Reusable Modules
• Module Registry
• Best Practices for module structure
• Passing variables to modules

• Dev, QA, Staging, Prod environments
• Workspaces in Terraform
• Environment variable overrides

• AWS Provider Setup
• Launching EC2 instance
• Creating VPC, Subnets, Route Tables, IGW, NAT
• Security Groups, Key Pairs, ELB, Autoscaling
• RDS, S3, IAM roles
• S3 as remote backend + DynamoDB for locking
• EKS Cluster & It’s Components

• Marking variables as sensitive
• Avoiding hardcoding secrets
• .gitignore for state and plan files

• create_before_destroy, prevent_destroy
• depends_on usage
• null_resource for provisioners
• Using remote-exec and local-exec

• terraform validate
• terraform fmt for formatting

• Azure Provider Setup
• Creating Resource Groups, VMs, Storage Accounts
• Virtual Network, Subnets, NSGs

• Terraform in Jenkins pipelines

• Hands-on Labs & Assignments
• Soft Copy Materials
• Terraform Scripts
• GitHub repo with reusable modules