
Compare traditional infrastructure with terraformed setups and introduce Terraform as infrastructure as code, explaining the terra and form origins and how it helps transform infrastructure for software deployment.
Learn how to access resource attributes and exported attributes in Terraform using the resource type, name, and attribute syntax, with examples like private ip and public dns.
Explore advanced Terraform syntax, including conditional expressions and the ternary operator, for loops, dynamic blocks, and complex objects like maps and nested maps.
Explore complex objects in Terraform by comparing object and map types, define predefined attributes with mixed types, and understand how defaults and outputs behave during plan and apply.
Learn to read local files into Terraform using a data template file, render with the file function, and leverage AWS Systems Manager Run Command to execute scripts on EC2.
Modularize terraform configurations by splitting resources, variables, and providers into separate files in v5, preserving plan consistency and minimizing blast radius while following the single-responsibility principle.
Explore how to modularize Terraform configurations with root and submodules, including remote modules, to organize VPC resources, dynamic blocks, and input variables while reducing blast radius.
Learn how terraform init initializes the project, downloads provider plugins and remote modules into a local hidden .terraform folder, and creates module folders for deployment.
Configure Terraform remote state in a remote bucket to store infrastructure state centrally so multiple developers can work concurrently, and enable state locking to prevent concurrent edits.
If I summarize this course in one sentence?
Learn Terraform IaC (demo is done using AWS EC2, VPC, IAM) using Handson concepts and labs (e.g. resource, data, input variables, for loop, dynamic block, count, remote modules, remote state and state locking, etc).
☆Please check preview videos to see if this course is really for you☆
Are you one of the below?
You want to learn how to set up cloud infrastructures with Terraform
You feel overwhelmed and don't know where to start with Terraform
You used AWS/GCP/Azure before but want to manage them using code instead of from Console
You want to learn Terraform remote modules so that you can reuse common code
You want to store Terraform state file (.tfstate) in cloud so that multiple developers can work together
Who should take this course
you have learned AWS fundamentals (EC2, VPC, IAM, etc)
you don't know how to go about setting up infrastructure by code
you have development experience in AWS Cloud Formation Template (AWS-specific IaC) but want to learn vendor-agnostic IaC tool such as Terraform
who should NOT need to take this course
you already know a lot of Terraform
you are not planning on managing cloud infrastructures on AWS/GCP/Azure
you have never used AWS/GCP/Azure
In this course, you will learn various aspects of Terraform such as:
Terraform resource types such as Resource, Input, Output, Data, Local, etc
Terraform provider setting
Terraform expression types (i.e. primitive types such as string, number, bool, and map and list and object)
Terraform advanced syntax such as conditional expression, for loop, dynamic block, nested maps, file input, etc
how to spin up AWS EC2 using Terraform and coding best practices
how to launch EC2 in a private subnet in a custom VPC using Terraform
how to reuse code for EC2 and IAM from Terraform remote modules in Terraform Registry
how to create AWS IAM role using Terraform remote module
how to configure Terraform remote backend to store TF state file in AWS S3 to enable collaboration
how to enable Terraform remote backend state locking (remote backend) using AWS DynamoDB so that no multiple users can access TF state file at once and hence avoid race condition
5 Reasons why you should take this course:
1. Instructed by a cloud DevOps engineer (with CKA and certified AWS DevOps pro) working at US company in SF
I have been pretty handson with Terraform, AWS, AWS EKS with 7+ industry experience in both North America and Europe.
2. Comprehensive coverage of Terraform from beginner to advanced
- Basic resource types(Resource, Data, Variable, Output、Local)and syntax
- Terraform functions(Math, List, Map, String, etc) demoed in Terraform console
- Advanced syntax such as For loop、__Dynamic Block__、__Nested Map__
- Reuse Terraform remote modules (e.g. EC2, IAM) in Terraform Registry
- Terraform Remote Backend and State locking(AWS DynamoDB)to centralize Terraform state and avoid race condition
3. Gotchas of Terraform Explained
I tried to explain and demonstrate confusing concepts in Terraform such as Object vs Map.
4. Tons of handson!
I won't bore you with dry lectures. Instead every concepts are paired with handson demo.
5. Entire course under FIVE HOURS
I tried to make this course compact and concise so students can learn the concepts and handson skills in shorted amount of time, because I know a life of software engineer is already pretty busy :)
My background & Education & Career experience
Cloud DevOps Software Engineer with 6.5+ years experience
Bachelor of Science in Computing Science from a Canadian university
Knows Java, C#, C++, Bash, Python, JavaScript, Terraform, IaC
Expert in AWS (holds AWS DevOps Professional certification) and Kubernetes (holds Certified Kubernetes Administrator, CKA)
I will see you inside!