<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jared Engelkemier</title>
    <description>The latest articles on DEV Community by Jared Engelkemier (@infra_insider).</description>
    <link>https://dev.to/infra_insider</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2826478%2F43f67bee-1fc0-4003-9c4d-af78414cea67.png</url>
      <title>DEV Community: Jared Engelkemier</title>
      <link>https://dev.to/infra_insider</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/infra_insider"/>
    <language>en</language>
    <item>
      <title>Unleash Automation: Deploy Terraform with GitLab CI/CD</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Wed, 19 Mar 2025 16:20:21 +0000</pubDate>
      <link>https://dev.to/infra_insider/unleash-automation-deploy-terraform-with-gitlab-cicd-3di1</link>
      <guid>https://dev.to/infra_insider/unleash-automation-deploy-terraform-with-gitlab-cicd-3di1</guid>
      <description>&lt;p&gt;If you're tired of manual Terraform deployments, it's time to automate! 🚀&lt;/p&gt;

&lt;p&gt;In my latest video, I walk you through deploying Terraform code using GitLab CI/CD. This guide covers:&lt;/p&gt;

&lt;p&gt;✅ How to structure your GitLab pipeline for Terraform automation.&lt;br&gt;
✅ How to handle multiple environments (dev, staging, prod) with ease.&lt;br&gt;
✅ How to run Terraform securely – hiding sensitive credentials &amp;amp; requiring approvals for production.&lt;br&gt;
✅ Best practices for efficient and scalable GitLab pipelines.&lt;br&gt;
Save time, reduce errors, and simplify your infrastructure management.&lt;/p&gt;

&lt;p&gt;📺 Watch the video here: &lt;a href="https://youtu.be/PxhH44RbTTc" rel="noopener noreferrer"&gt;https://youtu.be/PxhH44RbTTc&lt;/a&gt;&lt;br&gt;
📖 Full guide with code examples: &lt;a href="https://bit.ly/3Xmbr8P" rel="noopener noreferrer"&gt;https://bit.ly/3Xmbr8P&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have questions or tips on Terraform automation? Let's chat in the comments! 🔥&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>gitlab</category>
      <category>devops</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Stop Suffering: Automate Terraform with GitLab CI/CD Before It Breaks You</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Mon, 03 Mar 2025 16:13:40 +0000</pubDate>
      <link>https://dev.to/infra_insider/stop-suffering-automate-terraform-with-gitlab-cicd-before-it-breaks-you-253d</link>
      <guid>https://dev.to/infra_insider/stop-suffering-automate-terraform-with-gitlab-cicd-before-it-breaks-you-253d</guid>
      <description>&lt;p&gt;Terraform is powerful—but managing it manually? That’s a one-way ticket to frustration and broken pipelines.&lt;/p&gt;

&lt;p&gt;That’s why I wrote my latest blog post and created a new YouTube video to show you how to automate Terraform deployments using GitLab CI/CD—so you can stop worrying about human error and start deploying smarter. 🚀&lt;/p&gt;

&lt;p&gt;📝 Blog Post: &lt;a href="https://infra-insider.hashnode.dev/stop-sufferingautomate-terraform-with-gitlab-cicd-before-it-breaks-you" rel="noopener noreferrer"&gt;Stop Suffering - Automate Terraform with GitLab CI/CD Before It Breaks You &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📽️ YouTube Video: &lt;a href="https://youtu.be/PxhH44RbTTc" rel="noopener noreferrer"&gt;Watch Here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎯 What You’ll Learn in This Video:&lt;br&gt;
✅ How to structure your GitLab pipeline for Terraform automation. &lt;br&gt;
✅ How to handle multiple environments (dev, staging, prod) with ease. &lt;br&gt;
✅ How to run Terraform securely – hiding sensitive credentials &amp;amp; requiring approvals for production. &lt;br&gt;
✅ Best practices for efficient and scalable GitLab pipelines. &lt;br&gt;
✅ A full example &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; pipeline that you can use today.&lt;/p&gt;

&lt;p&gt;If you’re tired of painfully manual Terraform workflows, this is for you.&lt;/p&gt;

&lt;p&gt;Check it out, drop a comment, and let me know—how are you currently managing Terraform automation?&lt;/p&gt;

</description>
      <category>devops</category>
      <category>gitlab</category>
      <category>terraform</category>
      <category>automation</category>
    </item>
    <item>
      <title>🚀 Modular Terraform in 5 Minutes: The Key to Scalable Infrastructure</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Thu, 20 Feb 2025 18:08:19 +0000</pubDate>
      <link>https://dev.to/infra_insider/modular-terraform-in-5-minutes-the-key-to-scalable-infrastructure-2nep</link>
      <guid>https://dev.to/infra_insider/modular-terraform-in-5-minutes-the-key-to-scalable-infrastructure-2nep</guid>
      <description>&lt;p&gt;Terraform is powerful, but without modularization, your infrastructure can quickly become a tangled mess. If you've ever found yourself copy-pasting code between projects or dreading updates across multiple environments, it's time to go modular.&lt;/p&gt;

&lt;p&gt;Here’s a quick guide to Terraform modules—the right way. ⬇️&lt;/p&gt;

&lt;h2&gt;
  
  
  1️⃣ Stop Repeating Yourself (DRY Principle)
&lt;/h2&gt;

&lt;p&gt;Ever duplicated the same VPC or EKS setup across multiple projects? That’s a sign you need modules. Instead of copying &lt;code&gt;.tf&lt;/code&gt; files, encapsulate repeatable infrastructure into reusable modules that you can call with different inputs.&lt;/p&gt;

&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module "network" {
  source  = "./modules/network"
  vpc_cidr = "10.0.0.0/16"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ One module, multiple uses.&lt;/p&gt;

&lt;h2&gt;
  
  
  2️⃣ Group Related Resources Together
&lt;/h2&gt;

&lt;p&gt;The biggest mistake? Breaking things into too many micro-modules.&lt;br&gt;
Instead of a separate module for every tiny resource, group related resources logically.&lt;/p&gt;

&lt;p&gt;✅ Good module structure:&lt;br&gt;
✔ Compute Module → EKS, Node Pools, Autoscaling&lt;br&gt;
✔ Network Module → VPC, Subnets, Security Groups&lt;br&gt;
✔ Storage Module → S3 Buckets, EBS Volumes&lt;/p&gt;

&lt;p&gt;❌ Bad practice: A separate module for every IAM role, security group, or subnet. That’s over-modularization and makes things harder to maintain.&lt;/p&gt;
&lt;h2&gt;
  
  
  3️⃣ Use &lt;code&gt;outputs.tf&lt;/code&gt; to Pass Data Between Modules
&lt;/h2&gt;

&lt;p&gt;Terraform modules don’t work in isolation—they should pass information seamlessly. Use &lt;code&gt;outputs.tf&lt;/code&gt; to expose critical values from one module to another.&lt;/p&gt;

&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;output "vpc_id" {
  value = aws_vpc.main.id
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, another module can reference this output instead of hardcoding values.&lt;/p&gt;

&lt;h2&gt;
  
  
  4️⃣ Keep Your Modules Configurable with &lt;code&gt;variables.tf&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Hardcoded values kill reusability. Use &lt;code&gt;variables.tf&lt;/code&gt; to make your modules flexible across environments.&lt;/p&gt;

&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;variable "instance_type" {
  type    = string
  default = "t3.medium"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, you can override it per deployment instead of editing module code.&lt;/p&gt;

&lt;h2&gt;
  
  
  5️⃣ Call Modules from Your Root Module
&lt;/h2&gt;

&lt;p&gt;Once your modules are set up, your root module should look simple and clean.&lt;br&gt;
Instead of defining all resources, it should just reference modules with input variables.&lt;/p&gt;

&lt;p&gt;📌 Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module "eks" {
  source  = "./modules/compute"
  cluster_name = "my-cluster"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ Scalable. Reusable. Maintainable.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Ready for the Full Breakdown?
&lt;/h2&gt;

&lt;p&gt;This is just a 5-minute crash course on modular Terraform. If you want a deep dive into structuring your infrastructure the right way, check out my full guide:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://infra-insider.hashnode.dev/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code" rel="noopener noreferrer"&gt;Read the full blog post here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s Your Take?&lt;br&gt;
💬 How do you approach Terraform modularization? Have you run into challenges or best practices worth sharing? Let’s discuss in the comments!&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>cloudcomputing</category>
      <category>infrastructureascode</category>
    </item>
    <item>
      <title>Terraform Smarter, Not Harder: Now on YouTube! 🎥</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Wed, 19 Feb 2025 04:39:01 +0000</pubDate>
      <link>https://dev.to/infra_insider/terraform-smarter-not-harder-now-on-youtube-34lp</link>
      <guid>https://dev.to/infra_insider/terraform-smarter-not-harder-now-on-youtube-34lp</guid>
      <description>&lt;p&gt;If you enjoyed my blog on modularizing Terraform, you’ll love this! I just released a YouTube video walking through the full setup—architecture, code, and best practices.&lt;/p&gt;

&lt;p&gt;🔗 Watch here: &lt;a href="https://www.youtube.com/watch?v=UhD4sydXn8A" rel="noopener noreferrer"&gt;Terraform Smarter, Not Harder&lt;/a&gt;&lt;br&gt;
📖 Read the full blog post: &lt;a href="https://infra-insider.hashnode.dev/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code" rel="noopener noreferrer"&gt;The Power of Modular Terraform&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check it out, and let me know what you think! What’s your biggest challenge with Terraform modularization? Drop a comment! 👇&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>cloudcomputing</category>
      <category>infrastructureascode</category>
    </item>
    <item>
      <title>Are You Modularizing Your Terraform Code? Let’s Talk Best Practices!</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Mon, 10 Feb 2025 18:24:06 +0000</pubDate>
      <link>https://dev.to/infra_insider/are-you-modularizing-your-terraform-code-lets-talk-best-practices-d72</link>
      <guid>https://dev.to/infra_insider/are-you-modularizing-your-terraform-code-lets-talk-best-practices-d72</guid>
      <description>&lt;p&gt;Terraform is powerful, but without a solid structure, managing cloud infrastructure can become a tangled mess. That’s why I’m a huge advocate for modular Terraform—breaking infrastructure into reusable components to improve scalability, maintainability, and collaboration.&lt;/p&gt;

&lt;p&gt;Some key benefits I’ve seen:&lt;br&gt;
✅ Reusability – No more duplicated code across environments.&lt;br&gt;
✅ Scalability – Easily scale infrastructure without reinventing the wheel.&lt;br&gt;
✅ Consistency – Enforce best practices across all deployments.&lt;/p&gt;

&lt;p&gt;Of course, modularization comes with trade-offs. Too much abstraction, and modules become hard to use. Too little, and you lose the benefits.&lt;/p&gt;

&lt;p&gt;How do you approach modularizing Terraform in your organization? What challenges have you faced? Let’s discuss!&lt;/p&gt;

&lt;p&gt;I recently wrote a deep dive into how to structure a modular Terraform architecture, complete with real-world examples and code snippets—check it out here: &lt;a href="https://infra-insider.hashnode.dev/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code" rel="noopener noreferrer"&gt;Terraform Smarter, Not Harder&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>infrastructureascode</category>
      <category>devops</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Terraform Smarter, Not Harder: The Power of Modular Infrastructure as Code</title>
      <dc:creator>Jared Engelkemier</dc:creator>
      <pubDate>Thu, 06 Feb 2025 19:15:17 +0000</pubDate>
      <link>https://dev.to/infra_insider/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code-4n3l</link>
      <guid>https://dev.to/infra_insider/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code-4n3l</guid>
      <description>&lt;p&gt;🚀 &lt;strong&gt;Why Modular Terraform Matters&lt;/strong&gt;&lt;br&gt;
Cloud infrastructure starts simple—but as teams scale, Terraform scripts become harder to maintain. A monolithic setup is a nightmare to update and risky to deploy.&lt;/p&gt;

&lt;p&gt;💡 The Fix? Modular Infrastructure → Break your Terraform code into reusable, independent components for better scalability, security, and efficiency.&lt;/p&gt;

&lt;p&gt;🛠️ &lt;strong&gt;What’s Inside This Post?&lt;/strong&gt;&lt;br&gt;
Here’s what I cover in depth:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Breaking Terraform into Modules&lt;/strong&gt; → Networking, Compute (EKS), and Storage.&lt;br&gt;
✅ &lt;strong&gt;Terraform Code &amp;amp; Best Practices&lt;/strong&gt; → With real-world examples.&lt;br&gt;
✅ &lt;strong&gt;How to Future-Proof Your Infrastructure&lt;/strong&gt; → Avoiding Terraform tech debt.&lt;/p&gt;

&lt;p&gt;📂 &lt;strong&gt;Read the Full Breakdown on Hashnode!&lt;/strong&gt;&lt;br&gt;
I break everything down in detail, including Terraform code snippets, best practices, and architecture diagrams.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Read the full post here:&lt;/strong&gt; &lt;a href="https://infra-insider.hashnode.dev/terraform-smarter-not-harder-the-power-of-modular-infrastructure-as-code" rel="noopener noreferrer"&gt;Terraform Smarter, Not Harder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📌 What’s your experience with Terraform modularization? Have you encountered monolithic Terraform pain points? Drop your thoughts, strategies, and lessons in the comments! 💬👇&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
      <category>devops</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
