
Assess your readiness for this advanced Terraform course by confirming you have AWS experience and know Terraform basics, then learn to construct multi-environment infrastructure with clean code and best practices.
Meet the instructor, a nearly twenty-year engineer and former system administrator with extensive on-prem and cloud experience, specializing in AWS, Google Cloud, Microsoft technologies, Terraform, and Ansible.
Connect AWS, GitHub, and Jenkins to set up the lab environment; create a user, grant EC2 and S3 full access, generate an SSH key, configure the terminal, and add credentials.
Explore how to organize Terraform for multiple environments by using separate folders and distinct state files for dev, staging, and production, driven by environment variables.
Learn to run terraform via Jenkins by using GitHub branches for dev, staging, and prod, with backend state in env-specific S3 buckets and a multi-branch pipeline.
Explore how Terraform workspaces manage multiple state files and isolate resources across dev, staging, and production using a single configuration, with S3 backend and environment-specific vars.
Leverage Terraform workspaces via Jenkins to manage multi-environment deployments with separate tfvars per environment and independent state files, enabling environment-specific plans, applies, and automatic workspace-based subfolders.
Organize terraform with per-environment subfolders that hold backend configurations and environment-specific variables while sharing a configuration. Initialize, plan, and apply across dev, staging, and production using S3 backends and tfvars.
Implement a Jenkins-driven Terraform workflow using per-environment subfolders for dev, staging, and production backends and variables, including state files and init, plan, and apply.
Compare three solutions for managing different environments and the Terraform state file, and explain how project needs and environment requirements shape the best approach.
Are you already familiar with Terraform and AWS, but want to take your infrastructure-as-code skills to the next level? This course is designed for professionals who know the basics and are ready to build real-world, production-ready solutions using Terraform and Jenkins.
In this course, you’ll learn how to properly configure a Terraform backend to store and manage your state files. You’ll also discover several effective strategies for handling multiple environments, including how to separate and isolate infrastructure for development, staging, and production. We’ll explore three proven approaches: using separate folders, Terraform workspaces, and sub-folder structures for environment management.
On top of that, you’ll learn how to build a fully automated CI/CD pipeline using Jenkins to deploy your infrastructure. This will help you move beyond manual deployments and adopt a scalable, team-friendly workflow.
You’ll also see everything in action through two hands-on demos — one running locally on your machine, and the other integrated into a Jenkins pipeline for continuous delivery.
This is not a beginner course. You should already be comfortable with basic Terraform commands, have experience with AWS, and know how to create resources like EC2, S3, or IAM roles.
If you’re looking to level up your Terraform workflow with real-world automation techniques, this course is for you.