Terraform Deep Dive

Terraform can be used to automate Infrastructure orchestration both compatible for on premise and multiple Cloud products

This course covers Infrastructure as a Code and enhancing skills in using Terraform to run Cloud infrastrucure as a code. Terraform can be used to automate Infrastructure orchestration both compatible for on premise and multiple Cloud products.

What you will learn:

infrastructure as a code

Terraform deployments in Cloud

Creating custom Modules 


Linux basics

  • Understand infrastructure as code (IaC) concepts

What IaC is?

Advantages of IaC patterns

. Understand Terraform’s purpose (vs other IaC)

Multi-cloud and provider-agnostic benefits

Benefits of state

. Understand Terraform basics

Terraform Providers Cloud

local-exec or remote-exec explained

Terraform and provider installation and versioning

Handle Terraform and provider installation and versioning demo

Describe how Terraform finds and fetches providers

Plugin based architecture

When to use and not use provisioners and when to use local-exec or remote-exec


. Read, generate, and modify configuration

Demonstrate use of variables and outputs

Understand the use of collection and structural types

Create and differentiate resource and data configuration

Use resource addressing and resource parameters to connect resources together

Describe built-in dependency management (order of execution based)


. Navigate Terraform workflow

Terraform workflow ( Write -> Plan -> Create )

Working directory (terraform init)

Validate a Terraform configuration (terraform validate)

Generate and review an execution plan for Terraform (terraform plan)

Execute changes to infrastructure with Terraform (terraform apply)

Destroy Terraform managed infrastructure (terraform destroy)

Lab: Create resources in AWS Cloud and destroy


. Interact with Terraform modules

Contrast module source options

Interact with module inputs and outputs

Describe variable scope within modules/child modules

Defining module version

Lab: Module creation and use 


. Implement and maintain state

Default local backend

State locking

Handle backend authentication methods

Remote state storage mechanisms and supported standard backends

Effect of Terraform refresh on state

Backend block in configuration and best practices for partial configurations


  • Use the Terraform CLI (outside of core workflow)


When to use terraform fmt to format code

When to use terraform taint to taint Terraform resources

When to use terraform import to import existing infrastructure into your Terraform state

When to use terraform workspace to create workspaces

When to use terraform state to view Terraform state

When to enable verbose logging and what the outcome/value is