Welcome Devs,
Today, we’re not spinning up infrastructure, writing HCL, or fixing a broken state file (for once 😅).
Instead, we’re looking back at the last 8 months—a journey filled with learning, building, breaking things, fixing them again, and slowly becoming “that Terraform guy” in my circle.
It all started in April 2025, when one of my LinkedIn buddies shared that he got selected as a HashiCorp Ambassador.
That was the first time I genuinely thought:
“Damn, this looks exciting. Why don’t I aim for it too?”
Just a month before that—in March 2025—I had been selected as an AWS Community Builder, and around the same time, I launched my YouTube channel to share DevOps and Infra-as-Code tutorials with the world.
Slowly, people started watching, sharing, and sending messages saying they actually deployed things using my guides.
So officially, in May 2025, I decided:
🔥 I’m going to prepare for HashiCorp Ambassador 2026. Let’s do this seriously.
Fast-forward 8 months—
I’ve built multiple Terraform projects, contributed to open-source repos, and crossed:
20,000+ views on my blogs
16,000+ views on YouTube
400+ awesome subscribers
More importantly, I went from “Terraform looks complicated” to “Terraform is my comfort zone.”
And today, I’m sharing the exact resources, projects, repos, and lessons that helped me go from Zero → Hero in Terraform — and will help you too.
1. Building a Strong Terraform Foundation
Even though I already had some familiarity with Terraform (thanks to scattered YouTube videos and random experiments), I decided to start from absolute zero—because if I’m going to teach something, I need to understand it deeply myself.
So the first thing I created was a “Getting Started with Terraform” guide.
This wasn’t just another intro blog. My goal was to help beginners understand:
What Terraform really is
Why DevOps engineers rely on IaC
How providers work
Structuring a project with
main.tf,variables.tf,outputs.tfWhat “configuration” means in practice
Basically, the fundamentals you must know before touching any cloud resource.
If you are new, you can read the same guide here:
👉 Getting Started with Terraform – A Beginner’s Guide
Once the basics were sorted, I went deeper into the most important part of Terraform—
the thing that causes 90% of people stress when it breaks:
The Terraform State File
Where to store it?
How to keep it safe?
How to ensure teams don’t overwrite each other’s state?
I wrote a complete blog explaining how to use AWS S3 + DynamoDB as a rock-solid remote backend for production-grade Terraform.
I even created a YouTube demo for those who prefer watching over reading.
📘 Blog: Where Should You Store Terraform State Files for Maximum Efficiency?
🎥 Video: Terraform Remote Backend on AWS (S3 + DynamoDB)
These two resources became the backbone of my Terraform foundation—not just for me, but for everyone following along.
Before I moved to advanced projects, pipelines, and multi-environment infra… this foundation is what made everything else 10× easier.
2. Core Concepts & Best Practices (The Part Everyone Skips But Shouldn’t)
Once the foundations were clear, I moved into the phase where most beginners either get overwhelmed… or fall in love with Terraform.
For me, this was the moment things clicked.
Because understanding Terraform is not just learning commands — it’s learning structure, security, and scalability.
a) Terraform Modules – The Secret Sauce
One of the first “Aha!” moments for me was understanding modules.
If there’s one thing that separates beginners from pros, it’s this.
Modules teach you:
How to avoid repetitive code
How to scale infra easily
How to structure projects cleanly
How teams collaborate efficiently
I wrote an in-depth blog breaking this down and also created a complete YouTube walkthrough.
📘 Blog: Terraform Modules – The Secret Sauce to Scalable Infrastructure
🎥 Video: Terraform Module Explained with Demo
Learning modules improved how I thought about every project afterward.
b) Terraform Security Practices (Because IaC Without Security is Just a Script)
Infrastructure automation is amazing—but it also means if you make a mistake, you can take down everythinginstantly.
So I created a dedicated guide covering the Top 5 DevSecOps-focused Terraform security practices, including:
Provider credential validation
Role-based access
Scanning Terraform code for vulnerabilities
Remote backend security
Avoiding manual state file edits (my favourite rule 😅)
📘 Blog: Terraform Meets DevSecOps – 5 Security Practices You Can’t Ignore
🎥 Video: Terraform Security Best Practices
This was the point where both my blog and channel started gaining real traction—people were searching for practical, real-world Terraform security advice.
c) Terraform Workspaces – The Most Underrated Feature Ever
Workspaces are like that quiet student in class who actually knows everything.
Nobody talks about them…
until they see how powerful multi-environment deployment becomes with a single command:
terraform workspace select dev
terraform workspace select prod
Workspaces changed how I approached multi-environment infra forever.
📘 Blog: Terraform Workspaces & Multi-Environment Deployments
🎥 Video: Complete Workspace Tutorial on AWS
d) Terraform Meets Ansible (IaC + Configuration Management = 🔥)
The next logical step was learning how Terraform works with configuration management tools.
Terraform builds the infra.
Ansible configures what lives inside the infra.
I created a hands-on guide where I showed exactly how Terraform provisions servers and Ansible configures them — a production-ready combo.
📘 Blog: Terraform Meets Ansible – Automating Multi-Environment Infra on AWS
🎥 Video: Terraform + Ansible Full Demo
This section was a turning point in my portfolio because it bridged two worlds—Infra-as-Code and Configuration Management.
3. CI/CD, Automation & Modern DevOps (Where Everything Comes Together)
After covering modules, security, workspaces, and multi-environment provisioning, it was time to bring Terraform into the real world —
the world of automation, pipelines, and DevOps workflows.
I had already used Terraform with Jenkins and even GitLab CI/CD in my previous projects (outside this series), so this time I wanted to do something fresh.
And what’s more “modern DevOps” than using GitHub Actions?
So I decided to build a real project that connects:
Terraform
GitHub Actions
AWS
And a production-style multi-component application (Node.js + Redis + Nginx)
The Project: Request Counter App Deployment on AWS
This wasn’t just a “hello world” project.
It involved:
A Node.js API handling increment-count logic
Redis to store the counter
Nginx as a reverse proxy
Terraform to provision AWS infra
GitHub Actions to automatically deploy everything on push
In short, a full Infrastructure + Application + CI/CD pipeline — the kind of thing you actually do in real companies.
I documented the entire workflow so anyone can recreate it step-by-step.
📘 Blog: CI/CD for Terraform with GitHub Actions – Deploying a Node.js + Redis App on AWS
🎥 Video: GitHub Actions + Terraform Full Pipeline Demo
This project helped me understand how Terraform behaves inside a pipeline: the checks, the backend locks, the state consistency, the secret management — all of it.
And more importantly, it leveled up my DevOps portfolio significantly.
Real-world + automated + cloud-native = a perfect trifecta.
4. Cloud-Native & Multi-Tier Application Deployments (Intermediate Projects)
Once I became comfortable with Terraform fundamentals, DevSecOps practices, and CI/CD automation, it was time to step into the cloud-native world — where real production systems live and breathe.
This phase of my journey pushed me out of my comfort zone, because now I wasn’t just creating small demos.
I was building multi-tier, scalable, mission-critical infrastructures — the kind you’d actually find in modern companies.
a) Deploying a Three-Tier Application on AWS EKS (with Best Practices)
Kubernetes + Terraform is a whole universe on its own.
So to challenge myself, I decided to deploy a complete three-tier application on AWS EKS, fully automated using Terraform — following all real-world best practices.
This included:
VPC with subnets
Managed node groups
Ingress controllers
Load balancers
Namespace separation
Secrets + configs
And a proper service-to-service communication workflow
It was one of the most complex setups I’d built at that point — and the most rewarding.
📘 Blog: Deploy a Three-Tier Application on AWS EKS using Terraform (Best Practices)
🎥 Video: EKS + Terraform Deployment Tutorial
(This video crossed 1,000+ views—first big milestone!)
b) Deploying a Highly Scalable & Available Django Application (AWS + Terraform)
After EKS, I wanted to explore another real-world architecture — something more traditional, but equally production-grade.
So I built a highly scalable Django application hosted on AWS using Terraform.
This project included all the standard AWS building blocks you’d expect in a real enterprise setup:
RDS for relational database
Secrets Manager for secure credentials
Application Load Balancer
Auto Scaling Group
EC2 instances for compute
Private/public subnets
Proper network isolation and high availability
This architecture reflected how an actual company would deploy a Python backend in production.
📘 Blog: Deploying a Highly Scalable Django Application on AWS with Terraform
🎥 Video: Django + AWS + Terraform Full Architecture Demo
This stage of my Terraform portfolio strengthened my confidence in handling full-stack cloud-native deployments — not just isolated resources.
5. Game Deployments & Creative Infra Projects (The Standout Pieces)
Now, let’s talk about the most fun part of my Terraform journey — the projects that truly made my portfolio stand out.
I’ve been a gamer since childhood, and fun fact:
I actually bought my PS5 using the prize money I won as the Dev.to Runner-H Challenge Winner (Scolded by my Dad for this unjust purchase, but HELL YEAH!!, it was worth it.)
So, naturally, I decided to merge my love for gaming with my DevOps career.
The result?
Some of the most unique, creative, and highly engaging Terraform projects I’ve ever built.
a) Deploying Super Mario Bros on AWS EKS (Award-Winning Project)
This one will always be special.
I deployed the classic Super Mario Bros game on AWS EKS using Terraform — complete with pods, services, ingress, and Kubernetes best practices.
This project wasn’t just a hit among developers —
it actually helped me win the AWS Containers 4x4 Challenge, and I received some amazing premium swags from the community.
📘 Blog: Deploy Super Mario on AWS EKS using Terraform (Step-by-Step)
🎥 Video: Super Mario on Kubernetes Demo
b) Deploying Tetris on AWS ECS with Terraform
After nailing Mario, I didn’t want to stop.
Next, I deployed Tetris — this time using Amazon ECS with Terraform.
This project explores how containerized applications run on ECS Fargate, how services scale, and how ALBs route traffic.
📘 Blog: How to Deploy a Tetris Game on AWS ECS with Terraform
🎥 Video: Tetris on ECS – Full Walkthrough
c) Deploying Cognee AI Starter App on ECS (Collaboration Project)
One of the most exciting collaborations of my journey was with Cognee AI — the memory layer of AI Agents.
I built a Flask-based Cognee Starter Application from scratch, containerized it, and deployed it on AWS ECS using Terraform as the IaC backbone.
This project taught me a lot about real product deployment workflows, container orchestration, and DevOps collaboration.
📘 Blog: Deploying Cognee AI Starter App on ECS with Terraform
🎥 Video: Cognee AI Deployment Demo
d) Deploying an Amazon Clone on AWS (Amazon on AWS — Meta Enough?)
To wrap up this creative phase, I decided to do something hilarious and ambitious:
Deploying an Amazon Clone on… AWS itself.
Yes — Amazon on AWS. A true full-circle moment. 😂
This project used:
Jenkins for CI/CD
Terraform for infra
AWS services like EC2, ALB, ASG, RDS, VPC
And a full clone app architecture setup
📘 Blog: Deploy an Amazon Clone on AWS (Complete Guide with Jenkins + Terraform)
🎥 Video: Amazon Clone Deployment Tutorial
These projects became the highlights of my Terraform portfolio — the kind that make recruiters pause, smile, and think:
“Okay, this person actually enjoys building stuff.”
6. Reflection & Growth (The End of This Portfolio — But Not the Journey)
And now… here we are.
Eight months later.
Countless blogs, videos, deployments, wins, failures, swags, and late-night debugging sessions later — I finally paused and asked myself a very simple question:
“If a complete beginner asked me for guidance today… what would I say?”
Because when you’re learning something as powerful as Terraform, the hardest part isn’t understanding .tf files —
it’s navigating the early confusion, the overwhelming docs, the trial-and-error, and the mistakes we all make.
So to answer that question, I created a dedicated piece:
the top 5 mistakes beginners make while learning Terraform — and how to avoid them.
📘 Blog: Don’t Touch Terraform Before Avoiding These 5 Rookie Mistakes
🎥 Video: Top 5 Beginner Mistakes in Terraform
This video and blog were my way of giving back to anyone starting the same journey I took in April 2025.
If I could go back in time, this is exactly what I would hand to myself.
The Terraform Guide (Everything in One Place)
To make things easier for learners, I bundled every single blog — foundations, modules, state files, workspaces, EKS, ECS, CI/CD, everything — into a clean, structured series:
📚 Terraform Guide Series: All blogs in one place
This series now stands as a complete Zero-to-Hero path for anyone wanting to master Terraform using real projects.
Terraform Playlist (All Video Demonstrations)
And for visual learners, I created a dedicated playlist on YouTube containing every demo, from foundational projects to Kubernetes deployments and game infra:
Conclusion
As I wrap up this 8-month Terraform journey, one thing is clear: this portfolio isn’t just a collection of .tf files — it’s a reflection of growth, discipline, creativity, and identity.
When I started back in April 2025, I didn’t know Terraform beyond the basics. I simply made a decision in May 2025:
“I will learn this tool properly and build something meaningful.”
Eight months later, here’s what that decision turned into:
I learned Terraform from scratch
Built real-world, production-style cloud infrastructures
Won community challenges, including AWS Containers 4x4
Collaborated on AI projects, like the Cognee AI deployment
Published blogs that crossed 20,000+ views
Grew my YouTube channel to 16,000+ views and 400+ subscribers
And most importantly, built projects that genuinely reflect who I am as a DevOps engineer
This journey taught me that you don’t need a perfect starting point — you just need a consistent one.
It showed me that sharing your learning publicly builds connection, credibility, and confidence.
And it proved that passion projects (like deploying Super Mario and Tetris using Terraform) can teach you more than any textbook ever will.
If you’re just beginning your Terraform journey, I’ll leave you with this:
Start small. Stay consistent. Build publicly.
Because the internet remembers builders — not perfectionists.
Thank you for reading my story.
I hope this motivates you to start building your own.
📌 Connect With Me
🔗 LinkedIn: https://www.linkedin.com/in/pravesh-sudha/
🐦 Twitter/X: https://x.com/praveshstwt
📺 YouTube: https://www.youtube.com/@pravesh-sudha
🌐 Website/Blogs: https://blog.praveshsudha.com
Let’s keep learning and building — together.
Top comments (2)
Great post. I like how you walk through your path with Terraform in a clear way. The mix of simple setups and bigger projects shows how steady practice can build real skill. Your notes on providers, state, and modules feel spot-on, and the way you share your mistakes makes the article easy to connect with.
Thanks, I really appreciate your words 🤗