Skip to content

Juanda-2880/terraform-learning-path

Repository files navigation

Terraform Learning Path

Terraform AWS

This repository contains my learning journey and hands-on practice while completing a comprehensive Terraform Learning Path focused on Infrastructure as Code (IaC). All the content here is based on structured lessons and practical exercises from a Terraform course, organized to reflect a progressive understanding from fundamentals to more advanced concepts.

The goal of this repository is to serve as a reference, practice ground, and knowledge base for Terraform concepts, syntax, and best practices.


What You Will Find in This Repository

  • Incremental examples following Terraform best practices
  • Clear separation of concepts (providers, variables, functions, modules, etc.)
  • Practical infrastructure definitions written in HCL
  • Reusable and maintainable Terraform configurations
  • Learning-oriented structure aligned with a real-world Terraform workflow

Covered Topics

1. Course Introduction

  • Overview of Infrastructure as Code (IaC)
  • Why Terraform is used in modern cloud and DevOps environments
  • Core benefits: automation, consistency, and scalability

2. Introduction to Infrastructure as Code (IaC) and Terraform

  • What IaC is and how it compares to manual infrastructure management
  • Terraform architecture and workflow
  • Terraform CLI basics
  • Providers and how Terraform interacts with cloud platforms

3. Terraform Fundamentals

  • Terraform configuration files (.tf)
  • Resources and their lifecycle
  • Providers configuration
  • Terraform initialization (terraform init)
  • Planning and applying changes (terraform plan, terraform apply)
  • Terraform state and its importance
  • Understanding dependencies between resources

4. Working with Terraform

  • Managing state files locally and remotely
  • Best practices for organizing Terraform code
  • Resource targeting and lifecycle rules
  • Handling updates and infrastructure changes safely
  • Formatting and validating Terraform code

5. Terraform Provisioners

  • What provisioners are and when to use them
  • local-exec and remote-exec
  • Common use cases and limitations
  • Why provisioners should be used cautiously

6. Terraform Variables

  • Input variables and variable definitions
  • Variable types (string, number, bool, list, map, object)
  • Default values and validation rules
  • Output values
  • Using variables to make configurations reusable and flexible

7. Terraform Functions

  • Built-in Terraform functions
  • String, numeric, and collection functions
  • Conditional expressions
  • Practical examples to manipulate data dynamically

8. Terraform Modules and Workspaces

  • What modules are and why they matter
  • Creating reusable modules
  • Module inputs and outputs
  • Organizing Terraform projects with modules
  • Terraform workspaces
  • Managing multiple environments (e.g., dev, staging, prod)

Tools & Technologies

  • Terraform
  • HCL (HashiCorp Configuration Language)
  • AWS
  • Command-line tools

Purpose of This Repository

This repository is intended for:

  • Reinforcing Terraform concepts through practice
  • Serving as a personal reference for future projects
  • Demonstrating knowledge of Terraform and IaC principles

Notes

  • The code in this repository is focused on learning and experimentation.
  • Best practices are followed whenever possible to reflect real-world usage.
  • Advanced projects and final implementations are maintained in separate repositories.

Course Reference

All the content and exercises in this repository are the result of my studies from the Udemy course:

Ultimate Terraform on AWS Bootcamp | Beginner to Advanced

This repository reflects the concepts, practices, and progression taught throughout the course, adapted into my own hands-on implementations and organized for long-term reference.

https://www.udemy.com/share/10bVnZ3@cSg8guDsXT1Ae_OuLl19JqWEI48V19EivD_HohUItAOKdIHGhHkm6xB2M0GXl9FYOQ==/


Author

Juan David Pacheco Vargas Telematics Engineering Student & Cloud Enthusiast

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages