• Terraform (V1.3)

    (Intermediate Advanced)

    Duration : 32 hrs

Pre - requisite :

This course is intended for practicing Cloud Admins who have experience with a Cloud Service provider (CSP like AWS, Azure, GCP) in a production environment.

• Skills such as the ability to change directory, list and edit files via command terminal

• Working experience with a cloud provider (AWS, GCP, or Azure) on Compute, storage and network services

• Experience with cloud credentials for authentication

Course Content

Introduction to Infrastructure as Code (IaC) concepts

  • What is IaC
  • Advantages of IaC patterns
  • Other IaC tools
  • Infrastructure configuration vs provisioning tools

Introduction to Terraform (vs other IaC)

  • Multi-cloud and provider-agnostic benefits
  • State file and configuration files

Terraform basics

  • Install Terraform providers
  • Providers Versioning
  • Write Terraform configuration using multiple providers
  • How Terraform finds and fetches providers
  • Authenticate provider with Terraform

Terraform workflow

  • Terraform workflow ( Write -> Plan -> Create )
  • Initialize a Terraform working directory (terraform init)
  • Generate and review an execution plan for Terraform (terraform plan)
  • Validate a Terraform configuration (terraform validate)
  • Apply formatting and style adjustments to a configuration (terraform fmt)
  • Order of execution
  • Execute changes to infrastructure with Terraform (terraform apply)
  • Destroy Terraform managed infrastructure (terraform destroy)

Read, generate, and modify Terraform configuration files

  • Use of variables and outputs
  • Use different variable and output arguments
  • Data types in Terraform
  • Meta-Arguments – (for_each & count)
  • Conditional expression and locals
  • Expressions – for & Splat expression
  • Data blocks in Terraform
  • Resource addressing and resource parameters to connect resources together
  • Terraform functions

Use Terraform outside the core workflow

  • When to use terraform import to import existing infrastructure into your Terraform state
  • Terraform state command to view Terraform state
  • Enable verbose logging and different verbosity levels
  • Provisioners in Terraform
  • Understanding Connection Block
  • Types of provisioners

Terraform modules

  • Introduction to Modules
  • Different module source options
  • Interact with module inputs and outputs
  • Variable scope within modules/child modules
  • Set module version

Terraform backend state

  • Understanding and implementing Terraform workspaces
  • Default local backend
  • State locking feature
  • Integrating Terraform with Git for team collaboration
  • Understanding Basic Working of Git
  • Challenges and security considerations in Terraform state
  • Differentiate remote state backend options
  • Backend block and cloud integration in configuration
  • Terraform State Backend Configuration
  • Understand secret management in state files

HCP Terraform capabilities

  • Explain how HCP Terraform helps to manage infrastructure
  • Introduction to Terraform Cloud and Terraform Enterprise
  • Terraform offerings and features
  • Terraform cloud vs Terraform Enterprise
  • Set up Terraform Cloud account
  • Set up pipeline between GitHub and Terraform cloud
  • Push Local files to GitHub repository
  • Connect GitHub repository to terraform cloud
  • Authenticate terraform cloud with provider
  • Creating infrastructure with Terraform Cloud
  • Overview of Sentinel policies in Terraform
  • Understanding Policy enforcement
  • Cost estimation feature of Terraform Cloud