DevOps · DOP-01

Infrastructure as Code with Terraform

18 hours 3 days
Last updated
Infrastructure as Code ด้วย Terraform

Infrastructure as Code with Terraform is a 18-hour training course by IT Genius Institute. Building and changing infrastructure by hand through a web console creates inconsistency, leaves no audit trail and makes it hard to reproduce an environment.…

Training schedule

No public rounds are open right now — register your interest and we will contact you when the next round opens, or request an in-house session for your team.

Corporate training quote

Building and changing infrastructure by hand through a web console creates inconsistency, leaves no audit trail and makes it hard to reproduce an environment. Terraform solves this by expressing infrastructure as code that lives in Git, is reviewed through pull requests and can be recreated identically every time, using one tool across multiple cloud providers. This course takes learners from zero to team-ready Terraform, covering the HCL language, providers and resources, safe state management, variables and outputs, reusable modules, separating dev and production environments, remote state for teamwork, importing resources that already exist, secure secret handling, and finally CI/CD pipelines that run plan and apply automatically. Every topic is hands-on against real cloud resources. (3 days, 6 hours per day, 18 hours in total, Intermediate level.)

Objectives

  • Understand infrastructure as code and its benefits over manual provisioning
  • Install and use the Terraform CLI and the core workflow: init, plan, apply and destroy
  • Write correct HCL including resources, data sources, variables, outputs and expressions
  • Understand how state works and manage it safely, including locking
  • Split code into reusable modules and structure projects systematically
  • Separate dev, staging and production using workspaces or directory structure
  • Configure remote state and state locking for team collaboration
  • Bring existing resources under Terraform management with import
  • Handle secrets securely and set up CI/CD to run Terraform automatically

Who this course is for

  • DevOps and cloud engineers who manage cloud infrastructure
  • System administrators moving from manual work to automation
  • Developers who build and maintain their own environments
  • Solution architects who must design reproducible, auditable infrastructure
  • Teams using multiple clouds who want one standard tool

Prerequisites

  • Basic cloud concepts (AWS Cloud Practitioner or Azure AZ-900 recommended first)
  • Basic command line and Git skills
  • Basic networking concepts such as IP, subnets and security groups
  • Programming is not required, but you should be able to read structured configuration files

Curriculum

Course Details

A 3-day course, 6 hours per day (18 hours in total), delivered as lectures with hands-on cloud labs for every topic. Intermediate level. Learners take home a lab guide, complete sample code for every lab, reusable modules and a best-practice checklist. Note: learners create real resources in a test cloud account and should run terraform destroy after each lab to avoid ongoing charges.

Day 1: Terraform Fundamentals and State

Section 1: Infrastructure as Code Concepts and Setup

  • The problems with manual provisioning and the benefits of infrastructure as code
  • How Terraform works: declarative configuration, providers, plan and apply, compared with other tools
  • Installing the Terraform CLI and configuring cloud credentials securely
  • Lab: install Terraform and create your first cloud resource from code

Section 2: The HCL Language and Code Structure

  • The .tf file structure and core blocks: terraform, provider, resource and data
  • Data types, expressions, conditionals and commonly used functions
  • Referencing resources and controlling creation order through dependencies
  • Lab: write code that creates a network and a server that reference each other

Section 3: Providers and Resource Management

  • Using providers and pinning versions with version constraints
  • The resource lifecycle: create, update, replace and destroy, and reading plan output
  • Using data sources to reference resources that already exist
  • Lab: change infrastructure and read the plan carefully before every apply

Section 4: State Management

  • What state is, why it matters and the risk when state is lost or edited incorrectly
  • State commands: show, list, mv and rm, and when to use each
  • Protecting secrets in state and never committing state to Git
  • Lab: explore the state file and practise moving resources within state

Day 2: Variables, Modules and Teamwork

Section 5: Variables, Outputs and Configuration

  • Declaring variables, types, defaults and validation rules
  • Passing values through tfvars files, environment variables and the command line
  • Using outputs to expose values and locals to reduce repetition
  • Lab: refactor hardcoded configuration into variables and outputs

Section 6: Reusable Modules

  • Module concepts and designing for reuse across projects
  • Writing your own modules and consuming modules from the Terraform Registry
  • Structuring a project so it stays readable and maintainable
  • Lab: split the code into a module and reuse it across two environments

Section 7: Multiple Environments (Dev, Staging, Prod)

  • Separating environments with workspaces versus directory structure
  • Managing environment-specific values safely
  • Naming and tagging conventions that make cost tracking possible
  • Lab: build dev and prod environments from one codebase

Section 8: Remote State and Team Collaboration

  • Storing state in a remote backend and why teams need it
  • State locking to prevent concurrent changes from corrupting state
  • Team workflow: branches, pull requests and reviewing plan output before apply
  • Lab: migrate state to a remote backend and test locking with concurrent runs

Day 3: Existing Resources, Security and CI/CD

Section 9: Bringing Existing Resources Under Management

  • Using terraform import to manage resources that were created manually
  • Handling configuration drift when reality and code diverge
  • Migrating legacy systems to Terraform gradually without service disruption
  • Lab: import a manually created resource and align the code with reality

Section 10: Security and Secret Management

  • Handling secrets: never storing passwords or keys in code or Git
  • Using cloud secret management services together with Terraform
  • Granting the Terraform execution account least-privilege permissions
  • Scanning infrastructure code for insecure configuration

Section 11: CI/CD for Terraform

  • Building a pipeline that runs fmt, validate and plan automatically on pull requests
  • Gating apply behind approval before it touches production
  • Keeping plan output as evidence and rolling back when something goes wrong
  • Lab: create a pipeline that checks code and runs plan automatically on a Git repository

Section 12: Capstone and Best Practices

  • Capstone: design and build a complete infrastructure stack with Terraform from network to application
  • Best practices for writing and maintaining infrastructure code long term
  • Moving on to Ansible, Kubernetes and other DevOps tooling
  • Workshop: present the stack you built and review the code together

Frequently asked questions

Who is Infrastructure as Code with Terraform for, and what background is needed?

Built for DevOps and cloud engineers who manage cloud infrastructure · System administrators moving from manual work to automation · Developers who build and maintain their own environments Background you should have: Basic cloud concepts (AWS Cloud Practitioner or Azure AZ-900 recommended first) · Basic command line and Git skills Not sure the fit is right? Talk to our team on LINE @itgenius or call 02-570-8449.

How much does Infrastructure as Code with Terraform cost and how long does it run?

THB 10,500 (currently THB 9,450 on promotion). The course runs 18 hours. The fee covers course materials, lunch and refreshments throughout. Pay by bank transfer to the company account, confirm it on our payment page, and we can issue the receipt or tax invoice in your company's name.

Do I get a certificate?

Yes. Everyone who completes the course receives a Certificate of Completion from IT Genius Institute. Each certificate carries its own number, and anyone holding that number can verify it online on our certificate page, so you can add it to your portfolio or pass it to HR as evidence of training.

Where does the training take place, and is there an online option?

You can attend onsite at IT Genius Institute or arrange to join online, and we also run it as a private in-house session for your team. Ask about dates and venues on LINE @itgenius or call 02-570-8449.

What if I fall behind or miss a session — can I retake it?

Yes. You may retake the same course free of charge in a later round, under the institute's conditions. Tell our team which course and round you attended, and we will check it and offer you the rounds that still have seats. Ask us on LINE @itgenius or call 02-570-8449.

How do I enrol, or request a quotation for my company?

Enrol online with the registration form on this page. You can register several attendees at once and enter your tax ID and billing address for the tax invoice. Or request a company quotation straight from the quote button. For anything else call 02-570-8449 or reach us on LINE @itgenius.

Instructors

Run this course for your whole team

We run this course in-house, tailored to your stack.

Corporate training quote