Infrastructure as Code - Building Production Infrastructure with Terraform & Terragrunt

A practical series about learning, designing, and applying Infrastructure as Code with Terraform and Terragrunt. It covers Terraform fundamentals, state, modules, Terragrunt project structure, Terraform Cloud, and lessons learned from building and managing production infrastructure.

18 posts
Infrastructure as Code - Building Production Infrastructure with Terraform & Terragrunt
  1. What Is Infrastructure as Code? And Why I Stopped Managing Infrastructure Manually
    Part 1
    Jul 15, 2026
    Infrastructure as Codeterraformterragrunt

    What Is Infrastructure as Code? And Why I Stopped Managing Infrastructure Manually

    Infrastructure as Code is more than just Terraform or a collection of .tf files. In the first article of this series, I'll share why IaC exists, the challenges of managing infrastructure manually, and how thinking of infrastructure as code fundamentally changed the way I build and operate systems.

  2. How Terraform Works: Understanding How Terraform "Thinks"
    Part 2
    Jul 22, 2026
    Infrastructure as Codeterraformterragrunt

    How Terraform Works: Understanding How Terraform "Thinks"

    Terraform does not execute infrastructure sequentially like a Bash script. This article explains Terraform's execution model through Desired State, Current State, Actual Infrastructure, Dependency Graphs, Plans, Apply, Refresh, and Drift.

  3. Terraform State — The Brain Behind Terraform
    Part 3
    Jul 22, 2026
    devopsiacInfrastructure as Codeterraformterraform state

    Terraform State — The Brain Behind Terraform

    Terraform State is one of the most important yet misunderstood parts of Terraform. Learn what Terraform State is, why Terraform needs it, how it works, and the best practices for managing State in production.

  4. Design Terraform Modules like a Software Engineer
    Part 4
    Jul 22, 2026
    iacInfrastructure as Codeterraformterraform modules

    Design Terraform Modules like a Software Engineer

    Terraform Modules are more than reusable code. A well-designed module makes infrastructure easier to maintain, scale, and reuse across environments. This article explores module design from a software engineering perspective.

  5. Terraform Provider — Why It Is More Than Just a Plugin
    Part 5
    Jul 22, 2026
    iacInfrastructure as Codeterraformterraform provider

    Terraform Provider — Why It Is More Than Just a Plugin

    Understand how Terraform Providers work behind the scenes, from Resources and Data Sources to communication with external APIs. This is a fundamental concept for using Terraform effectively.

  6. Designing a Production-Ready Terraform Repository
    Part 8
    Jul 22, 2026
    iacInfrastructure as Codeterraformterraform repository

    Designing a Production-Ready Terraform Repository

    Learn how to organize a Terraform repository for production environments using modules, environments, and best practices that scale with your infrastructure.

  7. Import Existing Infrastructure into Terraform
    Part 9
    Jul 22, 2026
    iacInfrastructure as Codeterraformterraform import

    Import Existing Infrastructure into Terraform

    Learn how to bring existing infrastructure under Terraform management using terraform import and Import Blocks without recreating resources or disrupting production systems.

  8. Common Terraform Mistakes (and How to Avoid Them)
    Part 11
    Jul 22, 2026
    iacInfrastructure as Codeterraformterraform mistakes

    Common Terraform Mistakes (and How to Avoid Them)

    Discover the most common mistakes engineers make when using Terraform, from state management and module design to collaboration workflows and production best practices.

  9. When Terraform Is No Longer Enough: Introducing Terragrunt
    Part 12
    Jul 22, 2026
    iacInfrastructure as Codeterraformterragrunt

    When Terraform Is No Longer Enough: Introducing Terragrunt

    Terraform is powerful, but managing multiple environments and modules at scale quickly becomes challenging. In this article, we'll explore Terraform's limitations and why Terragrunt was created.

  10. What is Terragrunt? And How Does It Work?
    Part 13
    Jul 26, 2026
    iacInfrastructure as Codeterraformterragrunt

    What is Terragrunt? And How Does It Work?

    Now that you understand Terraform, it's time to explore Terragrunt—a tool that helps manage Infrastructure as Code at production scale by reducing duplication, organizing repositories, and orchestrating multiple Terraform projects.

  11. Building a Production-Grade Repository Structure with Terragrunt
    Part 14
    Jul 26, 2026
    devopsiacInfrastructure as Codeterraformterragrunt

    Building a Production-Grade Repository Structure with Terragrunt

    Learn how to organize a Terragrunt repository for production environments, multiple AWS accounts, and hundreds of Terraform projects while keeping your Infrastructure as Code scalable and maintainable.

  12. Managing Secrets and CI/CD with Terragrunt
    Part 18
    Jul 26, 2026
    cicddevopsiacInfrastructure as Codesecretsterraformterragrunt

    Managing Secrets and CI/CD with Terragrunt

    Learn how to manage secrets securely and integrate Terragrunt into your CI/CD pipelines to automate Infrastructure as Code deployments in production.

Infrastructure as Code - Building Production Infrastructure with Terraform & Terragrunt | Trung Nguyen