Skip to content
Play overlay
Preview this course

Terraform: Automating Cloud Infrastructure

Self-paced videos, Lifetime access, Study material, Certification prep, Technical support, Course Completion Certificate


Uplatz

Summary

Price
£14 inc VAT
Study method
Online, On Demand What's this?
Duration
24.6 hours · Self-paced
Qualification
No formal qualification
Certificates
  • Reed Courses Certificate of Completion - Free
  • Uplatz Certificate of Completion - Free

Add to basket or enquire

Overview

Uplatz offers comprehensive training on Terraform: Automating Cloud Infrastructure. This is online video-based training course. You will be awarded Course Completion Certificate at the end of the course.

What is Terraform?

Terraform is an open-source Infrastructure as Code (IaC) tool developed by HashiCorp. It allows users to define, provision, and manage infrastructure resources across multiple cloud providers (such as AWS, Azure, and Google Cloud) using a declarative configuration language.

Terraform allows you to define and manage your infrastructure in a declarative manner.Instead of manually configuring servers, networks, and other resources through a console or command-line interface, you use Terraform to describe the desired state of your infrastructure in configuration files.Terraform then figures out how to achieve that state, creating, updating, or deleting resources as needed.

How Terraform Works

  1. Write Configuration – Define the infrastructure using HashiCorp Configuration Language (HCL) in .tf files. Configuration: You define your infrastructure in Terraform configuration files written in a human-readable language called HashiCorp Configuration Language (HCL). These files describe the resources you need (servers, databases, load balancers, etc.) and their properties.
  2. Initialize Terraform – Run terraform init to download necessary plugins and dependencies.
  3. Plan Changes – Run terraform plan to preview what Terraform will do before applying changes. When you run the terraform plan command, Terraform analyzes your configuration files and creates an execution plan. This plan shows you exactly what changes Terraform will make to your infrastructure. It's a crucial step for reviewing and approving changes before they're applied.
  4. Apply Configuration – Run terraform apply to create or modify infrastructure resources. If the plan looks good, you run the terraform apply command. Terraform then provisions or modifies the resources in your infrastructure according to the plan.It interacts with the various cloud providers or other services (like AWS, Azure, GCP, or even on-premise systems) to make the necessary API calls.
  5. Track State – Terraform maintains the current state of infrastructure in a .tfstate file to track changes. Terraform keeps track of the state of your infrastructure in a state file.This file is essential for Terraform to understand what resources it's already managing and how they relate to each other. It's also how Terraform detects changes between your desired configuration and the actual infrastructure.
  6. Destroy Infrastructure – Use terraform destroy to remove all resources when they are no longer needed.

Core Features of Terraform

  • Infrastructure as Code (IaC) – Define and manage infrastructure using code.
  • Declarative Language – Specify the desired state, and Terraform determines the steps to achieve it.
  • Multi-Cloud Support – Works across AWS, Azure, GCP, and on-premises environments.
  • State Management – Tracks infrastructure changes and dependencies.
  • Modular and Reusable Code – Supports modules for reusability and consistency.
  • Execution Plans – Provides a preview of changes before applying them.
  • Provisioning Automation – Automates infrastructure deployment and management.

Benefits of Learning Terraform

  • Simplifies Infrastructure Management – Automates resource provisioning, reducing manual effort.
  • Multi-Cloud Flexibility – Allows working with different cloud providers using a unified approach.
  • Version Control – Integrates with Git for infrastructure versioning and collaboration.
  • Scalability – Helps in efficiently managing infrastructure for large-scale applications.
  • Cost Optimization – Enables efficient resource allocation and infrastructure tracking.
  • Industry Demand – High demand for Terraform skills in DevOps, cloud engineering, and infrastructure automation roles.

Certificates

Reed Courses Certificate of Completion

Digital certificate - Included

Will be downloadable when all lectures have been completed.

Uplatz Certificate of Completion

Digital certificate - Included

Course Completion Certificate by Uplatz

Curriculum

1
section
32
lectures
24h 35m
total
    • 1: Terraform Overview 23:51
    • 2: Terraform Installation Preview 38:52
    • 3: AWS EC2 Resource Creation by Terraform 47:39
    • 4: Multi-Region and Multi-Cloud Deployments in Terraform 57:18
    • 5: Terraform Tfvars and Local Variable 51:57
    • 6: Terraform Module - Theory 46:39
    • 7: Terraform Module - Lab 48:46
    • 8: Terraform State File Preview 1:02:24
    • 9: Git and GitHub with Terraform 35:36
    • 10: Terraform Backend Overview 46:44
    • 11: Terraform DynamoDB Database Paving 33:24
    • 12: Terraform DynamoDB Table Creation 52:44
    • 13: Terraform State File Analysis 31:35
    • 14: Terraform Provisioner - Lab 36:39
    • 15: Terraform Provisioner Deep-dive 40:55
    • 16: Terraform Workspace Overview 28:13
    • 17: Terraform Workspace Creation - Lab 45:42
    • 18: Terraform Workspace statefile Manage - Lab 47:09
    • 19: Terraform Vault Overview 39:05
    • 20: Terraform Secret Management 49:30
    • 21: Import Resources in Terraform 50:35
    • 22: Terraform Drift Detection - Lab 45:14
    • 23: Terraform Drift Detection Deep-dive 47:55
    • 24: Terraform Built-in Functions 47:01
    • 25: Terraform Map Variable Use Cases 58:33
    • 26: Terraform Data Type - Lab 40:57
    • 27: Best Practices in Terraform 50:28
    • 28: Automate Terraform with GitHub Actions 51:43
    • 29: Lambda Function Deployment by Terraform 55:54
    • 30: Terraform Troubleshooting Tips and Lab 1:07:29
    • 31: Terraform Interview Questions and Answers 35:52
    • 32: Key Difference between Terraform and Ansible, Advanced Q&A 57:51

Course media

Description

Terraform - Course Syllabus

Module 1: Introduction to Terraform

1. What is Terraform?

  • Overview of Infrastructure as Code (IaC)
  • Benefits of Terraform for managing infrastructure
  • Terraform vs. other IaC tools (e.g., CloudFormation, Ansible)

2. Getting Started with Terraform

  • Installation and setup (Windows, macOS, Linux)
  • Introduction to HashiCorp Configuration Language (HCL)

3. Understanding Terraform Workflow

  • terraform init, terraform plan, terraform apply, terraform destroy
  • The role of the state file

Module 2: Terraform Core Concepts

1. Providers

  • What are providers?
  • Configuring and using cloud providers (e.g., AWS, Azure, GCP)

2. Resources

  • Creating, reading, updating, and deleting resources
  • Resource types and configurations

3. Data Sources

  • Using data sources to fetch existing resources or information

4. Variables and Outputs

  • Defining variables
  • Using outputs to expose data
  • Best practices for variable management

Module 3: Working with Modules

1. What are Terraform Modules?

  • Understanding the need for modules
  • Reusable modules for organizing code

2. Using Public and Private Modules

  • Fetching public modules from the Terraform Registry
  • Creating and using private modules

3. Module Best Practices

  • Structuring and organizing modules
  • Module versioning and management

Module 4: Managing State

1. State in Terraform

  • What is Terraform state? Why is it important?
  • Local vs. remote state management

2. Backend Configurations

  • Remote backends: S3, Azure Storage, Google Cloud Storage
  • Managing state locks with DynamoDB or Consul

3. State Manipulation

  • Viewing state with terraform state
  • State file commands: terraform state pull, terraform state push
  • Importing existing resources into Terraform state

Module 5: Review knowledge in AWS, Ansible, and Git

Module 6: Advanced Terraform Features

1. Workspaces

  • Using workspaces for environment management (e.g., dev, staging, prod)
  • Workspace commands: terraform workspace

2. Count and For_each

  • Using count for resource scaling
  • Using for_each for dynamic resource management

3. Provisioners

  • Introduction to provisioners: local-exec, remote-exec
  • Use cases and limitations of provisioners

Module 7: Terraform Security Best Practices

1. Managing Secrets and Sensitive Data

  • Securely managing secrets (e.g., using AWS Secrets Manager, Vault)
  • Handling sensitive variables in Terraform

2. IAM and Access Control

  • Managing access to resources with IAM roles and policies
  • Securing Terraform state (encryption, access control)

3. Terraform Security Best Practices

  • Avoiding hardcoding sensitive information in configuration files
  • Best practices for managing cloud provider credentials

Module 8: Terraform in CI/CD

1. Terraform and Continuous Integration/Continuous Deployment (CI/CD)

  • Integrating Terraform with GitHub Actions, Jenkins, GitLab CI
  • Automating terraform plan and terraform apply in pipelines

2. Terraform Cloud & Enterprise

  • Introduction to Terraform Cloud
  • Workspaces, VCS integration, and collaboration in Terraform Cloud
  • Benefits of Terraform Enterprise for team management

Module 9: Testing and Debugging Terraform Configurations

1. Terraform Debugging Techniques

  • Debugging with TF_LOG environment variable
  • Common error messages and troubleshooting strategies

2. Automated Testing for Terraform

  • Introduction to testing tools (e.g., terratest, kitchen-terraform)
  • Writing and running tests for Terraform configurations

3. Terraform Linting and Formatting

  • Using terraform fmt for code formatting
  • Using terraform validate for checking configurations

Module 10: Terraform for Multi-Cloud and Hybrid Environments

1. Managing Multi-Cloud Infrastructure

  • Using Terraform to manage resources across AWS, Azure, and GCP
  • Best practices for managing multi-cloud environments

2. Hybrid Cloud Setup with Terraform

  • Integrating on-premises infrastructure with cloud resources
  • Using Terraform to automate hybrid cloud deployments

Module 11: Best Practices & Advanced Topics

1. Best Practices for Structuring Terraform Projects

  • Organizing code with directories, files, and modules
  • Handling large infrastructure codebases

2. Terraform Cloud and Remote Execution

  • Benefits of remote execution and state storage
  • Using Terraform Cloud for collaboration

3. Advanced Terraform Features

  • Dynamic Blocks and Expressions
  • Managing Dependencies and Resource Graph

Module 12: Hands-on Project

1. Real-World Infrastructure Deployment

  • Building and deploying a production-ready infrastructure using Terraform
  • Configuring resources like VPC, EC2 instances, databases, and storage

2. End-to-End Project with CI/CD Integration

  • Integrating Terraform in a CI/CD pipeline for automated deployment

Module 13: Conclusion & Next Steps

1. Course Summary

  • Key concepts learned in the course
  • Terraform Interview Preparation topics and Q&A
  • Best Practices for Terraform
  • Real-world troubleshooting in Terraform

Who is this course for?

Everyone

Requirements

Passion and determination to achieve your goals!

Career path

  • DevOps Engineer
  • Cloud Engineer
  • Site Reliability Engineer (SRE)
  • Infrastructure Engineer
  • Platform Engineer
  • Cloud Automation Engineer
  • Cloud Security Engineer
  • Solutions Architect
  • Systems Engineer
  • IT Operations Engineer
  • Build and Release Engineer
  • Kubernetes Engineer
  • Network Automation Engineer
  • Multi-Cloud Engineer
  • Cloud Consultant
  • Cloud Architect
  • AWS/Azure/GCP Engineer
  • Product Engineer
  • Technical Lead

Questions and answers

Currently there are no Q&As for this course. Be the first to ask a question.

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs

Interest free credit agreements provided by Zopa Bank Limited trading as DivideBuy are not regulated by the Financial Conduct Authority and do not fall under the jurisdiction of the Financial Ombudsman Service. Zopa Bank Limited trading as DivideBuy is authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority, and entered on the Financial Services Register (800542). Zopa Bank Limited (10627575) is incorporated in England & Wales and has its registered office at: 1st Floor, Cottons Centre, Tooley Street, London, SE1 2QG. VAT Number 281765280. DivideBuy's trading address is First Floor, Brunswick Court, Brunswick Street, Newcastle-under-Lyme, ST5 1HH. © Zopa Bank Limited 2025. All rights reserved.