Table of Contents

🎯 Who Is This Course For?📌 Prerequisites🔥 What You’ll Master🛠️ Theory Meets Action1. Evolution of the Cloud1.1. Pre-Cloud Era (1990s – Early 2000s)1.2. The Rise of Cloud Computing (2000s – Present)1.3. What Changed in Cloud Infrastructure?1.3.1. Infrastructure is Now Provisioned via APIs1.3.2. Servers Can Be Deployed and Destroyed in Seconds1.3.3. Shift from Long-Lived & Mutable to Short-Lived & Immutable Infrastructure2. What is Infrastructure as Code (IaC)?2.1. How IaC Changes Infrastructure Management2.2. Key Benefits of IaC2.3. Advantages of Implementing Infrastructure as Code (IaC)2.4. Why Does This Matter?2.5. Categories of Infrastructure as Code (IaC)3. Provisioning Approaches3.1. GUI (Graphical User Interface)3.2. API/CLI (Command Line Interface)3.3. IaC (Infrastructure as Code) – The Terraform Way 🚀3.4. Why Terraform?3.5. Terraform & IaC: The Perfect Match4. IaC Provisioning Tools Landscape5. Declarative vs. Imperative Approaches in IaCKey Differences: Declarative vs. Imperative6. What is Terraform?6.1. Again ! Why Use Terraform?6.2. Why Terraform Uses a Declarative Approach6.3. What Can You Do with Terraform?6.4. Why Terraform Matters in the Cloud Era6.5. How Recent Cloud Changes Impact Terraform7. Common Patterns in Modern Infrastructure Provisioning7.1. Provisioning + Configuration Management (e.g., Ansible)`How It Works`:`Benefits`:`TODO` : Expand with hands-on examples and best practices for integrating Terraform and Ansible.7.2. Provisioning + Server Templating (e.g., Packer)`How It Works`:`Benefits`:`TODO`: Include practical examples and guidance on integrating Packer-built images with Terraform deployments.7.3. Provisioning + Orchestration (e.g., Kubernetes)`How It Works`:`Benefits`:

Terraform for DevOps: Introduction to Terraform & Infrastructure as Code (Part 1)

Mar 28, 2025
19 min read
3665 words

Hello, DevOps enthusiasts! 👋 Get ready to dive into my Terraform tutorial series, where we’ll unlock the power of Infrastructure as Code (IaC) and master the art of managing cloud resources with efficiency and precision.

💬 Got Questions? If you have any questions or need further clarification while reading this post, please don't hesitate to drop a comment below! I'm here to help, and I'll gladly create new posts to dive deeper into any topics you find challenging. 😊

🎯 Who Is This Course For?

This course is tailored for anyone eager to supercharge their DevOps skills and master Terraform as a key addition to their toolkit. Whether you’re just stepping into the world of infrastructure automation or you’re a seasoned DevOps engineer, this guide will walk you through every step—from the fundamentals to building a modular, fully automated infrastructure setup that scales with ease.

📌 Prerequisites

To get the most out of this journey, it’s great to come prepared with:

  • A basic grasp of programming (any language will do!).
  • Some familiarity with AWS essentials (think IAM, EC2, S3, and friends).

🔥 What You’ll Master

In this action-packed, hands-on tutorial, we’ll take you from zero to confidently deploying infrastructure in real-world scenarios. We’ll kick off with Terraform essentials and build up to:

  • Crafting Terraform configurations from the ground up.
  • Handling state files like a pro while sidestepping common traps.
  • Designing reusable, modular infrastructure that scales effortlessly.
  • Automating deployments for staging and production with finesse Proven best practices to shine in real-world projects.

🛠️ Theory Meets Action

This isn’t just another concept-heavy course! We’re blending bite-sized theory with practical, hands-on examples to cement your foundation and show you how to wield these skills for real-world infrastructure mastery.

Let’s get started! 🚀

1. Evolution of the Cloud

To grasp the true power of Infrastructure as Code (IaC) and tools like Terraform, let’s rewind and trace how cloud computing has transformed over time—setting the stage for modern infrastructure management.

1.1. Pre-Cloud Era (1990s – Early 2000s)

In the pre-cloud days, launching a web application was a daunting, wallet-draining saga:

  • The Spark: You dreamed up a web-based app.
  • The Grind: You coded it on local machines.
  • The Heavy Lift: You shelled out for physical servers and carved out space for a data center.
  • The Manual Maze: You juggled everything by hand—power, cooling, networking, security configs—and prayed it all held together.
  • The Scaling Struggle: Spiking demand? Time to overprovision and hope you guessed right.

This was a slow, pricey, and clunky process—a barrier that often locked startups and small players out of the game.

1.2. The Rise of Cloud Computing (2000s – Present)

Then came the cloud revolution—think AWS, Microsoft Azure, Google Cloud—and the rules flipped overnight:

  • No Hardware Hassle: Forget owning servers; rent compute power instead.
  • Speed Unleashed: Spin up a server in minutes, not months.
  • Elasticity on Tap: Scale resources up or down as needed—no crystal ball required.
  • Managed Magic: Hand off databases, networking, and storage to providers, slashing operational grunt work.

Today, deploying an app looks like this:

  • Dream up your idea.
  • Build the software.
  • Push it to the cloud—no server room needed.

This shift demolished old barriers, but it also paved the way for IaC and Terraform to take efficiency and control to the next level.

1.3. What Changed in Cloud Infrastructure?

The shift to cloud computing has fundamentally transformed how we provision, manage, and conceptualize infrastructure. It’s not just an upgrade in speed—it’s a complete rewiring of the infrastructure playbook. Let’s break down the key changes that define this evolution.

1.3.1. Infrastructure is Now Provisioned via APIs

Gone are the days of manually racking servers, wrestling with cables, and configuring hardware by hand. Today, cloud providers like AWS, Azure, and GCP have turned infrastructure into a programmable resource, accessible through APIs. This shift brings powerful advantages:

  • Programmatic Provisioning: Servers, databases, and networks spring to life with a few lines of code—no manual setup required.
  • Automation at Scale: Tools like Terraform, Ansible, and Kubernetes streamline deployments, turning once-tedious tasks into repeatable, automated workflows.
  • Consistency through Code: By defining infrastructure as code (IaC), you ensure every deployment is identical, eliminating human error and guesswork.

This API-driven approach makes infrastructure faster, more reliable, and infinitely more flexible than the hands-on methods of the past.

1.3.2. Servers Can Be Deployed and Destroyed in Seconds

Remember waiting weeks—or even months—for hardware to arrive and get set up? That’s ancient history. Cloud infrastructure operates on a whole new timeline:

  • Instant Deployment: Launch a server in seconds with a single command or click.
  • Dynamic Scaling: Ramp up resources to handle a traffic spike, then scale back down when demand drops—pay only for what you use.
  • Disposable Resources: When a resource outlives its purpose, destroy it. Need it again later? Recreate it from scratch. No idle costs, no waste.

This speed and elasticity redefine how we approach resource management, making infrastructure as agile as the applications it supports.

1.3.3. Shift from Long-Lived & Mutable to Short-Lived & Immutable Infrastructure

In the past, servers were treated like pets—long-lived, manually nurtured, and patched over time. The downside? Configuration drift, where ad-hoc changes led to inconsistencies and the dreaded "works on my machine" problem. The cloud has flipped this model on its head:

  • Immutable by Default: Instead of tweaking live servers, deploy a new, pristine version whenever a change is needed.
  • Replacement Over Repair: No more debugging a broken server—just replace it with a fresh instance built from code.
  • Consistency Assured: Every deployment matches the defined spec, banishing drift and ensuring reliability.

This cattle-not-pets mindset means infrastructure is short-lived, purpose-built, and replaced rather than repaired—delivering stability and predictability at scale.

2. What is Infrastructure as Code (IaC)?

Infrastructure as Code (IaC) revolutionizes how we manage and provision infrastructure, swapping manual processes for code-driven automation. Instead of clicking through dashboards or tweaking servers by hand, IaC lets you define infrastructure in code files—unlocking automation, repeatability, and scalability. As noted in Terraform: Up & Running by O’Reilly, "IaC provides complete transparency and control over infrastructure, ensuring an accurate and consistent view of your environment at all times." With this approach, infrastructure evolves from a sluggish chore into a streamlined, version-controlled asset.

2.1. How IaC Changes Infrastructure Management

The Old Way: Traditional infrastructure management was a manual slog—endless clicks through cloud consoles, hand-configured servers, and a constant battle for consistency. This led to:

  • Inconsistencies: Dev, staging, and production environments often drifted apart due to human tweaks.
  • Human Errors: Typos and misclicks were par for the course, triggering outages or delays.
  • Slow Deployments: Every change demanded time-intensive manual effort.

The IaC Way: IaC turns this chaos into order:

  • Code-Driven Precision: Define infrastructure in code for exact, repeatable setups.
  • Automated Power: Launch entire environments with a single command.
  • Version Control: Track, review, and rollback changes like you would with app code.
  • Perfect Replicas: Reproduce infrastructure anywhere, anytime, with zero drift.

2.2. Key Benefits of IaC

IaC delivers a powerhouse of advantages:

  • Consistency: Identical environments eliminate configuration drift.
  • Speed & Efficiency: Build, tweak, or dismantle infrastructure in minutes, not days.
  • Automation: Ditch manual configs—code takes the wheel.
  • Version Control: Log changes, collaborate, and revert with ease.
  • Scalability: Ramp resources up or down effortlessly to match demand.

2.3. Advantages of Implementing Infrastructure as Code (IaC)

IaC redefines infrastructure management with:

  • Effortless Scaling: Automate provisioning and updates to grow fast and smart.
  • DevOps Boost: Pair with CI/CD tools for smooth, error-free deployments.
  • Team Sync: Store code in Git for collaboration, versioning, and accountability.

2.4. Why Does This Matter?

IaC isn’t just a tech trick—it’s a game-changer. It hands organizations agility, reliability, and cost savings, turning infrastructure into a strategic edge. With Terraform at the helm, DevOps teams can automate, standardize, and scale across clouds, slashing manual work and fueling innovation.

2.5. Categories of Infrastructure as Code (IaC)

IaC spans a range of tools and approaches, each tailored to specific needs. Here’s the breakdown:

  1. Ad Hoc Scripts
  • What: Custom scripts (Bash, Python, PowerShell) for one-off automation.
  • Example: A Bash script launching an EC2 instance via AWS CLI.
  • Pros: Fast for small jobs; no new tools needed.
  • Cons: Fragile, unscalable, and error-prone.
  1. Configuration Management Tools (Ansible, Chef, Puppet, SaltStack)
  • What: Automate software setup and configs on existing servers.
  • Example: An Ansible playbook rolling out Nginx across nodes.
  • Pros: Keeps systems consistent; perfect for existing setups.
  • Cons: No provisioning power; risks state drift.
  1. Server Templating Tools (Packer)
  • What: Build pre-baked machine images (VMs, AMIs) for uniform deployments.
  • Example: A Packer-crafted AMI with Nginx and app dependencies.
  • Pros: Speeds launches; ensures image consistency.
  • Cons: Hands off lifecycle management.
  1. Orchestration Tools (Kubernetes, Docker Swarm, Nomad)
  • What: Automate deployment, scaling, and networking for containerized apps.
  • Example: Kubernetes running a microservices cluster.
  • Pros: Rules cloud-native apps; masters container scaling.
  • Cons: Needs other tools for infrastructure setup.
  1. Provisioning Tools (Terraform, CloudFormation, Pulumi)
  • What: Automate creation and management of infrastructure components.
  • Example: Terraform deploying a VPC, EC2, RDS, and S3 on AWS.
  • Pros: Full lifecycle control; declarative; multi-cloud ready.
  • Cons: Learning curve for DSL; requires state management.

3. Provisioning Approaches

Before we dive into Terraform’s magic, let’s unpack the three main ways to provision cloud infrastructure. Each approach has its flavor—some shine for simplicity, others for scale. Here’s the rundown:

3.1. GUI (Graphical User Interface)

Think of this as the “point-and-click” method—using the web dashboards of AWS, Azure, or GCP to spin up resources.

✅ Pros:

  • Beginner-friendly—no code required.
  • Visual and intuitive, with instant feedback.
  • Great for exploring cloud basics.

❌ Cons:

  • Error-prone—one misclick can derail you.
  • No change tracking or consistency across setups.
  • Scales poorly—imagine clicking through a 100-server deployment!

📌 Use Case: Perfect for quick tests or learning the ropes, but it’s a dead end for serious projects.

3.2. API/CLI (Command Line Interface)

Ditch the mouse for the terminal—cloud providers offer APIs and CLI tools to script resource creation.

✅ Pros:

  • Faster and more repeatable than GUI clicks.
  • Scriptable—pair it with Bash or Python for automation lite.
  • Granular control over every detail.

❌ Cons:

  • Still clunky for big, complex setups.
  • Scripts pile up, turning into a maintenance mess.
  • No state tracking—good luck remembering what’s live!

📌 Use Case: A solid pick for script-savvy DevOps folks who want more than a GUI but aren’t ready for full automation.

3.3. IaC (Infrastructure as Code) – The Terraform Way 🚀

Here’s where the game changes: IaC lets you define infrastructure in code using tools like Terraform, CloudFormation, or Pulumi. It’s automation on steroids.

✅ Pros:

  • Fully automated—deploy with a single command.
  • Version-controlled—track every change in Git.
  • Scales like a dream across dev, staging, and prod.
  • Declarative—say what you want, and Terraform handles how.
  • Multi-cloud mastery—works with AWS, Azure, GCP, and even on-prem.

❌ Cons:

  • Learning curve for Terraform’s HCL syntax (but it’s worth it).
  • Takes setup time upfront—patience pays off.

📌 Use Case: The gold standard for modern DevOps, automation, and managing sprawling infrastructure.

3.4. Why Terraform?

IaC is the clear winner for efficiency and scale, and Terraform is our champion in this course. Here’s why it stands out:

  • Unified Workflow: One tool, one process—provisioning made predictable.
  • State Management: Keeps tabs on resources, preventing drift and chaos.
  • Multi-Cloud Muscle: Future-proof your skills across AWS, Azure, GCP, and more.

Terraform doesn’t just speed up provisioning—it makes it safer, smarter, and built to last. Ready to see how it works? Let’s jump in! 🚀

3.5. Terraform & IaC: The Perfect Match

Terraform isn’t just an IaC tool—it’s a standout that turbocharges your DevOps game. Here’s how it delivers:

  • HCL Clarity: Craft infrastructure with HashiCorp Configuration Language—clean, human-readable, and laser-precise.
  • Multi-Cloud Mastery: Wield one tool to provision across AWS, Azure, GCP, and beyond—no platform lock-in.
  • State Tracking: Stay in control with state files that map every change, ensuring nothing slips through the cracks.
  • Workflow Sync: Snap into CI/CD pipelines for automation that flows like clockwork.

Terraform transforms infrastructure from a stubborn bottleneck into a dynamic, automated launchpad—powering your DevOps strategy with speed and smarts

4. IaC Provisioning Tools Landscape

When it comes to provisioning infrastructure as code (IaC), tools split into two camps: Cloud-Specific and Cloud-Agnostic. Each brings its own strengths to the table—let’s break it down.

Cloud-Specific Tools: These are tailor-made for one cloud provider, offering tight integration and a native feel.

Examples:

  • AWS CloudFormation: Deploys AWS infrastructure with JSON/YAML templates.
  • Azure Resource Manager (ARM): Orchestrates Azure resources via ARM templates.
  • Google Cloud Deployment Manager: Shapes GCP setups with YAML or Python.

✅ Pros:

  • Seamless integration with their cloud’s ecosystem.
  • Leverages native security, monitoring, and best practices.
  • Optimized for provider-specific services and APIs.

❌ Cons:

  • Locked in—zero flexibility beyond their cloud’s borders.
  • Templates can spiral into complexity for big projects.

Cloud-Agnostic Tools: These tools rise above vendor walls, letting you manage infrastructure across multiple clouds with one unified approach.

Examples:

  • Terraform: Defines infrastructure in HCL, spanning AWS, Azure, GCP, and beyond.
  • Pulumi: Codes infrastructure in Python, TypeScript, Go, or other familiar languages.

✅ Pros:

  • Multi-cloud power—handles AWS, Azure, GCP, Kubernetes, you name it.
  • One workflow, all platforms—consistency is king.
  • Portability perk—dodges the single-vendor trap.

❌ Cons:

  • Less cozy with each cloud’s quirks compared to native tools.
  • Learning curve—HCL for Terraform or Pulumi’s SDK style takes time.

5. Declarative vs. Imperative Approaches in IaC

In the world of Infrastructure as Code (IaC), two philosophies reign: Declarative and Imperative. Knowing their differences is your ticket to picking the right approach for taming infrastructure with efficiency and style.

Imperative Approach (How to Do It) The imperative style is all about the how—a playbook of step-by-step commands to build your infrastructure. You’re the director, calling every shot.

Example: Spinning up an EC2 instance with a Bash script:

aws ec2 run-instances \
  --image-id ami-12345678 \
  --count 1 \
  --instance_type t2.micro \
  --key-name MyKeyPair \
  --security-group-ids sg-12345678

✅ Pros:

  • Granular control over every move.
  • Perfect for tasks where sequence is king.

❌ Cons:

  • Every tweak needs a new script—tedious!
  • Scales poorly in big, messy setups.
  • Tracking changes? Good luck rolling back.

Declarative Approach (What to Achieve) The declarative style is about the what—you define the endgame, and tools like Terraform figure out the playbook. It’s hands-off brilliance.

Example: Provisioning an EC2 instance with Terraform:

resource "aws_instance" "web" {
  ami           = "ami-12345678"
  instance_type = "t2.micro"
}

✅ Pros:

  • Low maintenance—tweak the goal, and Terraform adapts.

  • Idempotent—run it a dozen times, get the same result.

  • State awareness—tracks what’s live, no surprises. ❌ Cons:

  • Less grip on the nitty-gritty steps.

  • HCL learning curve (but it’s worth it).

Key Differences: Declarative vs. Imperative

Feature Declarative (What) Imperative (How) Focus Desired end state Step-by-step recipe Automation Tool-managed magic You’re the puppet master Reproducibility Rock-solid (idempotent) Varies with execution Ease of Use Simple to tweak and maintain Tricky to track and scale Example Tools Terraform, CloudFormation Bash scripts, Ansible

6. What is Terraform?

Terraform is an open-source Infrastructure as Code (IaC) powerhouse from HashiCorp that lets you define, provision, and manage cloud infrastructure through declarative configuration files. Think of it as your infrastructure’s blueprint—written in code, executed with precision.

Using HCL (HashiCorp Configuration Language), a clean and human-friendly syntax, you describe what your infrastructure should look like. Terraform then springs into action—building, updating, and managing it all safely and efficiently. It’s automation with clarity, turning complex cloud setups into a controlled, repeatable process.

6.1. Again ! Why Use Terraform?

Terraform isn’t just a tool—it’s a game-changer for infrastructure management. Here’s why it’s worth your time:

  • Multi-Cloud Freedom: Seamlessly spans AWS, Azure, Google Cloud, Kubernetes, and even on-prem setups—no limits, one tool.
  • Declarative Simplicity: Tell Terraform what you want, and it maps out how to make it happen—no micromanaging required.
  • Code-Driven Control: Automate infrastructure like software, with version control for consistency and repeatability at every step.
  • Safe Execution: Previews changes with a plan upfront, slashing risks and ensuring updates roll out smoothly.

With Terraform, you’re not just provisioning—you’re mastering infrastructure with precision and confidence.

6.2. Why Terraform Uses a Declarative Approach

Terraform takes the declarative route—define what you want, and it handles the how behind the scenes. This abstraction slashes complexity and delivers:

✔️ Effortless Management: Focus on the big picture, not the grunt work. ✔️ Smart Tracking: Terraform’s state file logs every move—no guesswork needed. ✔️ Painless Scaling: Tweak and grow setups without rewriting the playbook. This declarative magic makes infrastructure predictable, repeatable, and a breeze to maintain—tailor-made for modern DevOps domination!

6.3. What Can You Do with Terraform?

Terraform turns infrastructure dreams into reality with unmatched flexibility. Here’s what it empowers you to do:

  • Spin Up Anything: Provision servers, databases, networks, and storage across any cloud provider with ease.
  • Bridge Every Boundary: Manage multi-cloud and hybrid setups seamlessly—no friction, just flow.
  • Automate with Swagger: Scale infrastructure and deploy updates on autopilot, no sweat required.
  • Lock in Consistency: Keep dev, staging, and production environments in perfect sync, every time.

Terraform is the Swiss Army knife of modern DevOps—delivering automation, scalability, and rock-solid reliability to your infrastructure game.

6.4. Why Terraform Matters in the Cloud Era

The cloud may have revolutionized computing, but managing its resources by hand? Still a tangled mess. Enter Terraform—the tool that cuts through the chaos:

  • Automation Over Clicks: Ditch manual console fiddling for streamlined, code-driven deployments.
  • Multi-Cloud Command: Wrangle resources across AWS, Azure, and beyond with a single playbook.
  • Consistency Locked In: Keep dev, staging, and production environments perfectly aligned, no drift allowed.
  • Versioned Precision: Treat infrastructure like code—trackable, reviewable, and rewindable.

In a nutshell, Terraform is the glue that makes cloud infrastructure scalable, automated, and bulletproof—a must-have for the modern era.

6.5. How Recent Cloud Changes Impact Terraform

Cloud resources have evolved—API-driven, short-lived, and lightning-fast. These shifts scream for Infrastructure as Code (IaC), and Terraform answers the call:

  • Automation Unleashed: Skip manual setup and let code provision infrastructure in a flash.
  • Repeatable Perfection: Recreate identical environments on demand, every time, no guesswork.
  • Multi-Cloud Mastery: Manage sprawling setups across providers with efficiency and finesse.

These changes—speed, ephemerality, and scale—make infrastructure more reliable, cost-effective, and agile. Terraform is the key that unlocks these wins, turning cloud potential into DevOps gold.

7. Common Patterns in Modern Infrastructure Provisioning

Modern infrastructure isn’t a one-tool show—Terraform shines brightest when paired with specialized sidekicks. These common patterns blend Terraform with other tools to craft automated, scalable, and rock-solid environments. Let’s dive in:

7.1. Provisioning + Configuration Management (e.g., Ansible)

Terraform lays the foundation—spinning up cloud resources like servers, networks, and databases—while a configuration management tool like Ansible steps in to dress them up with software, configs, and ongoing care.

How It Works:

  • Terraform: Carves out the infrastructure backbone (e.g., EC2 instances, load balancers).
  • Ansible: Logs in via SSH to fine-tune the OS, install packages, and deploy apps.

Benefits:

  • Clean Divide: Terraform builds the house; Ansible furnishes it—each tool plays to its strength.
  • Modular Magic: Reusable Terraform modules and Ansible playbooks save time across projects.

TODO : Expand with hands-on examples and best practices for integrating Terraform and Ansible.

7.2. Provisioning + Server Templating (e.g., Packer)

Terraform handles provisioning, while Packer preps machine images with all the trimmings—software, configs, the works. These ready-to-go images keep drift at bay and turbocharge deployments.

How It Works:

  • Packer: Crafts golden images (e.g., AWS AMIs) with everything baked in.
  • Terraform: Launches VMs from these images, skipping the setup slog.

Benefits:

  • Speed Boost: Pre-built images mean servers boot fast—no waiting for installs.
  • Uniformity: Every instance starts identical, locking in consistency across the board.

TODO: Include practical examples and guidance on integrating Packer-built images with Terraform deployments.

7.3. Provisioning + Orchestration (e.g., Kubernetes)

Terraform sets the stage—provisioning the cloud resources for a Kubernetes cluster (managed like AWS EKS or self-hosted). Kubernetes then takes the reins, deploying and juggling containerized apps with finesse.

How It Works:

Terraform:

  • Builds the foundation (VPC, subnets, EC2, security groups).

  • Configures a managed service (e.g., EKS) or preps a custom cluster. Kubernetes:

  • Rolls out containers, scales them, and keeps them humming.

  • Uses YAML manifests to declare app states declaratively.

Benefits:

  • Perfect Harmony: Terraform’s multi-cloud prowess meets Kubernetes’ container mastery.
  • Role Clarity: Terraform tackles infra; Kubernetes owns apps—each excels where it counts.
  • Scale & Stability: Auto-scaling infra and apps, built to thrive under pressure.

These patterns showcase Terraform as the linchpin in a bigger toolkit. By teaming up with Ansible, Packer, or Kubernetes, you get a seamless, reproducible setup that’s as efficient as it is powerful—modern infrastructure management at its finest.

Now that you've been introduced to Terraform and Infrastructure as Code, it's time to get hands-on! In Terraform for DevOps: Setting Up Terraform & Your First Deployment (Part 2), we'll walk through installing Terraform, configuring your environment, and deploying your very first resources on AWS. Don't miss it—take the next step to build your infrastructure automation skills!

👍 Enjoyed this post? If you found this content helpful, please hit the like button! Your support inspires me to create even more detailed and practical guides on Terraform and DevOps. Thank you for reading, and happy automating! 🚀

Rahim's Newsletter

I write monthly Tech, Web Development and chrome extension that will improve your productivity. Trust me, I won't spam you.

Share on Social Media: