<?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>Forem: Ijay</title>
    <description>The latest articles on Forem by Ijay (@ijay).</description>
    <link>https://forem.com/ijay</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%2F691309%2F3cfc37d1-ceb9-4869-ab1a-a29581db29ce.png</url>
      <title>Forem: Ijay</title>
      <link>https://forem.com/ijay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ijay"/>
    <language>en</language>
    <item>
      <title>You passed AWS... But Companies Still Won't Hire You</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Fri, 01 May 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/you-passed-aws-but-companies-still-wont-hire-you-3kcc</link>
      <guid>https://forem.com/ijay/you-passed-aws-but-companies-still-wont-hire-you-3kcc</guid>
      <description>&lt;p&gt;Upon passing certification, no job. That's why I created this video, "The Pain Behind the Smile," and besides, this question is getting much attention.&lt;br&gt;
I kept seeing the same thing everywhere. People &lt;br&gt;
passing their AWS exam and still not getting a &lt;br&gt;
single interview. So I looked into it properly. &lt;br&gt;
Here is what I found.&lt;br&gt;
If this video helped you, feel free to leave a comment here and engage on &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. I read and learn from your feedback.&lt;/p&gt;

&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you. ❤️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
      <category>career</category>
    </item>
    <item>
      <title>You Don’t Need Kubernetes to Get an AWS Job (My Real Experience)</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Tue, 28 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/you-dont-need-kubernetes-to-get-an-aws-job-my-real-experience-5b0k</link>
      <guid>https://forem.com/ijay/you-dont-need-kubernetes-to-get-an-aws-job-my-real-experience-5b0k</guid>
      <description>&lt;p&gt;Many people believe you need Kubernetes to get an AWS job, but that isn’t true for most beginners.&lt;/p&gt;

&lt;p&gt;In this video, I share my real experience learning AWS and explain why Kubernetes is often pushed too early. I break down what AWS roles actually expect at the beginner and junior level, what skills matter more than buzzwords, and when Kubernetes really becomes useful.&lt;/p&gt;

&lt;p&gt;If you are learning AWS and feel overwhelmed by advice telling you to learn everything at once, this video will help you focus on the fundamentals that actually move you forward.&lt;/p&gt;

&lt;p&gt;This is for AWS beginners, cloud learners, and anyone trying to understand what really matters when preparing for an AWS job.&lt;/p&gt;

&lt;p&gt;If this video helped you, feel free to leave a comment here and engage on &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. I read and learn from your feedback.&lt;/p&gt;

&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you. ❤️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>What is an Availability Zone?</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Fri, 24 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/what-is-an-availability-zone-3ec</link>
      <guid>https://forem.com/ijay/what-is-an-availability-zone-3ec</guid>
      <description>&lt;p&gt;Availability Zones are one of the most important concepts in AWS, but they are often confusing for beginners. In this video, I explain what an Availability Zone is using simple language and real-life examples, so you can understand how AWS designs reliable and highly available systems.&lt;/p&gt;

&lt;p&gt;This video is for anyone learning AWS, cloud computing, or DevOps who wants clarity without heavy technical jargon.&lt;/p&gt;

&lt;p&gt;In this video, you will learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What an Availability Zone really is&lt;/li&gt;
&lt;li&gt;How Availability Zones are different from Regions&lt;/li&gt;
&lt;li&gt;Why AWS uses multiple Availability Zones&lt;/li&gt;
&lt;li&gt;How Availability Zones improve reliability and uptime&lt;/li&gt;
&lt;li&gt;Common beginner misunderstandings about Availability Zones&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once this concept clicks, many other AWS topics start making sense.&lt;/p&gt;

&lt;p&gt;If this video helped you, feel free to leave a comment here and engage on &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. I read and learn from your feedback.&lt;/p&gt;




&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you. ❤️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
      <category>career</category>
    </item>
    <item>
      <title>Will AI Replace Cloud Engineers in 2026?</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Tue, 21 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/will-ai-replace-cloud-engineers-in-2026-1a2c</link>
      <guid>https://forem.com/ijay/will-ai-replace-cloud-engineers-in-2026-1a2c</guid>
      <description>&lt;p&gt;We are in the AI era. I made this video just to voice my opinion and take points on AI. I use AI , but it can't replace me. So what's your take on AI? &lt;/p&gt;

&lt;p&gt;If this video helped you, feel free to leave a comment here and engage on &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. I read and learn from your feedback.&lt;/p&gt;

&lt;p&gt;Thank you. ❤️&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cloud</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>3 Ways to Configure Resources in Terraform</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Fri, 17 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/3-ways-to-configure-resources-in-terraform-5a5b</link>
      <guid>https://forem.com/ijay/3-ways-to-configure-resources-in-terraform-5a5b</guid>
      <description>&lt;p&gt;Infrastructure as Code has changed how engineers manage cloud infrastructure. Instead of manually creating resources in the cloud console, we can define everything in code and let tools handle the provisioning.&lt;/p&gt;

&lt;p&gt;Terraform is one of the most popular tools for this purpose.&lt;/p&gt;

&lt;p&gt;When working with Terraform, you often need to define values for your resources. For example, you may want to specify the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The instance type of a server&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The region where resources will be deployed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The name of a resource&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tags used for identification&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Terraform allows you to configure these values in different ways. Choosing the right approach helps make your infrastructure easier to manage, reuse, and maintain.&lt;/p&gt;

&lt;p&gt;In this article, you will learn three common ways to configure resource values in Terraform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Using variables&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using locals&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using auto.tfvars files&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the end of this guide, you will understand when to use each method and how they help improve your Terraform configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5lskpc1x6nw718ta9t4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff5lskpc1x6nw718ta9t4.jpeg" alt="starting tutorial" width="328" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before reading along, make sure you have the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Basic understanding of any cloud provider infrastructure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Terraform is installed on your machine.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can verify that Terraform is installed by running the following command in your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;terraform version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If Terraform is installed correctly, you should see the version number above displayed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0l61joh5p7ppmwkku3mq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0l61joh5p7ppmwkku3mq.png" alt="checking the installation" width="668" height="131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding Resource Configuration in Terraform
&lt;/h2&gt;

&lt;p&gt;In Terraform, infrastructure is defined using resources.&lt;/p&gt;

&lt;p&gt;A resource represents a cloud component such as a virtual machine, storage bucket, database, or load balancer.&lt;/p&gt;

&lt;p&gt;Here is a simple example of a Terraform resource that creates an AWS EC2 instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;resource &lt;span class="s2"&gt;"aws_instance"&lt;/span&gt; &lt;span class="s2"&gt;"example"&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  ami           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"ami-0xxxxxxxxxxxxxxx0"&lt;/span&gt;
  instance_type &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"t2.micro"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this configuration, the values for &lt;code&gt;ami&lt;/code&gt; and &lt;code&gt;instance_type&lt;/code&gt; are written directly inside the resource block.&lt;/p&gt;

&lt;p&gt;This works for simple cases, but it can become difficult to manage when your infrastructure grows. Hardcoding values makes configurations less flexible and harder to reuse.&lt;/p&gt;

&lt;p&gt;Terraform provides several ways to make these values more dynamic and easier to manage.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Do We Add Dynamic Values in Terraform?
&lt;/h2&gt;

&lt;p&gt;When writing Terraform configurations, you may sometimes need values that can change. For example, the instance type of a server may be different in development and production environments.&lt;/p&gt;

&lt;p&gt;If you write these values directly inside your resource blocks, your configuration becomes harder to reuse and maintain. Instead, Terraform allows you to define values outside the resource and reference them when needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Method 1: Using Variables
&lt;/h2&gt;

&lt;p&gt;Variables allow you to define values outside of your resource blocks. This makes your Terraform configuration more flexible and easier to reuse.&lt;/p&gt;

&lt;p&gt;Instead of hardcoding values inside a resource, you define the value once and reference it wherever it is needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Define the variable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, define a variable. This is usually done in a file called &lt;code&gt;variables.tf&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;variable &lt;span class="s2"&gt;"instance_type"&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  description &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"The EC2 instance type"&lt;/span&gt;
  &lt;span class="nb"&gt;type&lt;/span&gt;        &lt;span class="o"&gt;=&lt;/span&gt; string
  default     &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"t2.micro"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above, we created a variable called &lt;strong&gt;instance_type&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This variable stores the value Terraform uses when creating the EC2 instance.&lt;/p&gt;

&lt;p&gt;The default value is set to &lt;strong&gt;t2.micro&lt;/strong&gt;, but this value can be changed later if needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Next is to use the variable to create a resource.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After defining the variable, you can reference it inside your resource configuration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;resource &lt;span class="s2"&gt;"aws_instance"&lt;/span&gt; &lt;span class="s2"&gt;"example"&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  ami           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"ami-0xxxxxxxxxxxxxxx0"&lt;/span&gt;
  instance_type &lt;span class="o"&gt;=&lt;/span&gt; var.instance_type
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So with this declaration Terraform does not use a hardcoded value for the instance type. Instead, it reads the value from the variable we defined earlier.&lt;/p&gt;

&lt;p&gt;The prefix &lt;code&gt;var.&lt;/code&gt; tells Terraform that the value is coming from a variable.&lt;/p&gt;

&lt;p&gt;When Terraform runs, it will use the value stored in instance_type to configure the resource.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why do you think variables are useful?
&lt;/h3&gt;

&lt;p&gt;As mentioned earlier, hardcoding values can make your infrastructure difficult to manage, especially as your system grows or needs to scale.&lt;/p&gt;

&lt;p&gt;Terraform variables help solve this problem by separating configuration values from the resource definitions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Variables are useful in several situations.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you want to reuse the same configuration in different environments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, you might use a small instance type in a development environment and a larger one in production. With variables, you can keep the same configuration and only change the value.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you want to change values without modifying the resource block&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of editing the resource every time a value changes, you simply update the variable. This keeps your configuration cleaner and easier to maintain.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you want to make your Terraform configuration easier for other engineers to use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Variables make it clear which values can be adjusted. This allows other engineers to work with the configuration without needing to modify the core infrastructure code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Method 2: Using Locals
&lt;/h2&gt;

&lt;p&gt;Terraform locals allow you to store values or expressions that are used multiple times in your configuration.&lt;/p&gt;

&lt;p&gt;Locals are helpful when you want to simplify repeated values or calculations.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I use Local?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Define the Local Values&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create a locals block in your Terraform configuration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;locals &lt;span class="o"&gt;{&lt;/span&gt;
  instance_name &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"example-server"&lt;/span&gt;
  instance_type &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"t2.micro"&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The code block defines local values called &lt;code&gt;instance_name&lt;/code&gt; and &lt;code&gt;instance_type&lt;/code&gt; of the configuration.&lt;/p&gt;

&lt;p&gt;Next, you define the local values inside the resource configuration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Using Locals in a Resource&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;resource &lt;span class="s2"&gt;"aws_instance"&lt;/span&gt; &lt;span class="s2"&gt;"example"&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  ami           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"ami-0abcdef1234567890"&lt;/span&gt;
  instance_type &lt;span class="o"&gt;=&lt;/span&gt; local.instance_type

  tags &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    Name &lt;span class="o"&gt;=&lt;/span&gt; local.instance_name
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The resource configuration uses the value stored in instance_name and in instance_type above to create a resource&lt;/p&gt;

&lt;h3&gt;
  
  
  Why are Locals Useful in Terraform Declarations?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Locals are useful when you want to avoid repeating the same values in multiple places.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Locals can be used to simplify complex expressions. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The keyword "local" can be used to organize your configuration more clearly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Method 3: Using auto.tfvars Files
&lt;/h2&gt;

&lt;p&gt;A &lt;code&gt;tfvars&lt;/code&gt; file is used to store values for Terraform variables. Instead of typing values in the command line or writing them directly in your configuration, you can place them inside a separate file.&lt;/p&gt;

&lt;p&gt;Terraform has a special type of file called ".auto.tfvars."&lt;/p&gt;

&lt;p&gt;When Terraform sees a file with this name, it automatically loads the values inside it. This means you do not need to manually pass the file when running Terraform commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  How is it declared?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Define the variable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, define the variable in your Terraform configuration.&lt;/p&gt;

&lt;p&gt;For example, in &lt;code&gt;variable. tf&lt;/code&gt;file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;variable &lt;span class="s2"&gt;"instance_ec2"&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  description &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"EC2 instance type"&lt;/span&gt;
  &lt;span class="nb"&gt;type&lt;/span&gt;        &lt;span class="o"&gt;=&lt;/span&gt; string

 tags &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    Create_By &lt;span class="o"&gt;=&lt;/span&gt; var.created_by
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, we created a variable called instance_ec2&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create the auto.tfvars File&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, create another file called, let's say, &lt;code&gt;ec2.auto.tfvars&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Inside this file, assign a value to the variable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;instance_type &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"t3.micro"&lt;/span&gt;
created_by    &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"dev"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why Should You Create a auto.tfvars File?
&lt;/h2&gt;

&lt;p&gt;The file helps keep your Terraform configuration clean by separating variable values from the main infrastructure code.&lt;/p&gt;

&lt;p&gt;Instead of placing all values directly inside your Terraform files, you can store them in an &lt;code&gt;auto.tfvars&lt;/code&gt; file and let Terraform load them automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;auto.tfvars Files are useful when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;To keep configuration values separate from your Terraform code&lt;br&gt;
i.e., your resource definitions stay focused on infrastructure, while the variable values are stored in a separate file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To manage different environment settings&lt;br&gt;
For example, a development environment might use smaller resources, while production may require larger ones.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To allow Terraform to automatically load variable values&lt;br&gt;
Terraform reads .auto.tfvars files automatically when you run commands like terraform plan or terraform apply, so you do not need to pass the file manually.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because of the benefit of an &lt;code&gt;auto.tfvars&lt;/code&gt; file, many teams use tfvars files to manage values for different environments, such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;development&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;staging&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;production&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When Should You Use Each Method in Resource Configuration?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Variables are best when you want flexibility and reusable configurations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Locals are useful for simplifying repeated values inside your Terraform code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;auto.tfvars files help supply variable values automatically without modifying the configuration.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In practice, most Terraform projects use a combination of these approaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Terraform provides several ways to configure values for your resources. Choosing the right approach can make your infrastructure easier to manage and maintain.&lt;/p&gt;




&lt;h2&gt;
  
  
  Other Helpful Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-deploy-a-kubernetes-app-on-aws-eks/" rel="noopener noreferrer"&gt;How to Deploy a Kubernetes App on AWS EKS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/best-aws-services-for-frontend-deployment/" rel="noopener noreferrer"&gt;The Best AWS Services to Deploy Front-End Applications in 2025&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/backend-as-a-service-beginners-guide/" rel="noopener noreferrer"&gt;What is Backend as a Service (BaaS)? A Beginner's Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/the-hidden-challenges-of-building-with-aws-8mg"&gt;The Hidden Challenges of Building with AWS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://labs.play-with-k8s.com/" rel="noopener noreferrer"&gt;Play with Kubernetes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.docker.com/101-tutorial/" rel="noopener noreferrer"&gt;Docker 101 Tutorial&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/how-to-create-a-cicd-using-aws-elastic-beanstalk-15nh"&gt;How to Create a CI/CD Pipeline Using AWS Elastic Beanstalk&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
    <item>
      <title>Some cloud concepts like regions and availability zones can be explained simply.

Do you think someone without a technical background can get AWS fundamentals?

Watch and share your thoughts:
https://www.youtube.com/watch?v=UaNqs93P38Q&amp;t=8s

#aws #cloud</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Wed, 15 Apr 2026 13:25:21 +0000</pubDate>
      <link>https://forem.com/ijay/some-cloud-concepts-like-regions-and-availability-zones-can-be-explained-simply-do-you-think-2hn4</link>
      <guid>https://forem.com/ijay/some-cloud-concepts-like-regions-and-availability-zones-can-be-explained-simply-do-you-think-2hn4</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://www.youtube.com/watch?v=UaNqs93P38Q&amp;amp;amp;t=8s" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;youtube.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How I Escaped Tutorial Hell</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Wed, 15 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/how-i-escaped-tutorial-hell-fdd</link>
      <guid>https://forem.com/ijay/how-i-escaped-tutorial-hell-fdd</guid>
      <description>&lt;p&gt;&lt;em&gt;What watching tutorials taught me and why building changed everything.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Almost everyone who is learning something new experiences tutorial hell at some point.&lt;/p&gt;

&lt;p&gt;You watch videos, read guides, and follow along step by step. Everything seems clear while you are watching.&lt;/p&gt;

&lt;p&gt;But when it is time to try things on your own, you suddenly feel stuck.&lt;/p&gt;

&lt;p&gt;In this edition, I want to share my experience and how I eventually broke out of that cycle.&lt;/p&gt;

&lt;p&gt;Time flies.&lt;/p&gt;

&lt;p&gt;I still remember when I first started learning to code.&lt;/p&gt;

&lt;p&gt;I spent hours watching tutorials. React tutorials. JavaScript tutorials. Anything I could find on YouTube.&lt;/p&gt;

&lt;p&gt;If you asked me what I was doing, I would confidently say I was learning.&lt;/p&gt;

&lt;p&gt;I was always busy.&lt;/p&gt;

&lt;p&gt;Busy watching another tutorial.&lt;/p&gt;

&lt;p&gt;Busy taking notes. &lt;/p&gt;

&lt;p&gt;Busy trying to become a good software engineer.&lt;/p&gt;

&lt;p&gt;But there was one problem.&lt;/p&gt;

&lt;p&gt;I was watching a lot.&lt;/p&gt;

&lt;p&gt;I was not building much.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6xjew4kzcl93e4rfnek.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo6xjew4kzcl93e4rfnek.gif" alt="false confidence" width="200" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But whenever I tried to build something on my own, I froze.&lt;/p&gt;

&lt;p&gt;Following along in a tutorial felt easy. I could understand what the instructor was doing, and everything looked clear.&lt;/p&gt;

&lt;p&gt;But when the tutorial ended, and I was left with a blank editor, I did not know where to start.&lt;/p&gt;

&lt;p&gt;That was when I realized something.&lt;/p&gt;

&lt;p&gt;I was not actually building.&lt;/p&gt;

&lt;p&gt;I was stuck in what many developers call &lt;strong&gt;tutorial hell&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vfvugj29r7ny45ki57e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4vfvugj29r7ny45ki57e.png" alt="tutorial loop learners fall into" width="800" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything makes sense while the instructor is explaining it.&lt;/p&gt;

&lt;p&gt;But the moment the tutorial ends and you try to build something on your own, the confidence disappears.&lt;/p&gt;

&lt;p&gt;That was exactly what happened to me when I was learning React.&lt;/p&gt;

&lt;p&gt;I had watched many tutorials, but I still did not know how to start a simple application from scratch.&lt;/p&gt;

&lt;p&gt;That was when I realised something needed to change.&lt;/p&gt;

&lt;p&gt;It took time, but eventually I broke out of that cycle.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing that helped me was simple.
&lt;/h2&gt;

&lt;p&gt;I stopped focusing on watching and started focusing on building.&lt;/p&gt;

&lt;p&gt;Now, when I want to learn something new, I approach it differently.&lt;/p&gt;

&lt;p&gt;Instead of opening YouTube first, I start with a small idea.&lt;/p&gt;

&lt;p&gt;It could be a simple tool. It could be a small project.&lt;/p&gt;

&lt;p&gt;Then I try to build it.&lt;/p&gt;

&lt;p&gt;Most of the time, I get stuck. That is normal.&lt;/p&gt;

&lt;p&gt;When that happens, I search for solutions, read documentation, debug with AI, or even just take a rest.&lt;/p&gt;

&lt;p&gt;But the important thing is this.&lt;/p&gt;

&lt;p&gt;I am still the one building it.&lt;/p&gt;

&lt;p&gt;And that changes everything.&lt;/p&gt;

&lt;p&gt;When you build something yourself, you begin to understand the real challenges developers face. You start seeing how different parts connect. Your confidence grows because you solved the problem yourself.&lt;/p&gt;

&lt;p&gt;Tutorials are useful. They introduce you to new tools and concepts.&lt;/p&gt;

&lt;p&gt;But tutorials alone cannot make you better.&lt;/p&gt;

&lt;p&gt;Building can&lt;/p&gt;

&lt;h2&gt;
  
  
  Try this this week
&lt;/h2&gt;

&lt;p&gt;Pick one small idea and build it without following a tutorial step by step.&lt;/p&gt;

&lt;p&gt;It does not need to be perfect. It just needs to be something you built yourself.&lt;/p&gt;

&lt;p&gt;Examples&lt;/p&gt;

&lt;p&gt;• A simple to-do list app &lt;/p&gt;

&lt;p&gt;• A small API &lt;/p&gt;

&lt;p&gt;• A static website&lt;/p&gt;

&lt;p&gt;• A small cloud project, like hosting a website on Amazon S3&lt;/p&gt;

&lt;p&gt;If you are interested in cloud projects and you are struggling to think of ideas, that is completely normal. Some days your mind just goes blank.&lt;/p&gt;

&lt;p&gt;When that happens, do not worry.&lt;/p&gt;

&lt;p&gt;You can explore AWS Skill Builder. They have many hands-on projects and learning paths you can follow.&lt;/p&gt;

&lt;p&gt;You can also check out my previous post, where I shared an &lt;a href="https://www.linkedin.com/posts/ijeoma-igboagu_learningaws-cloudcomputing-devops-activity-7424376180373368832-npYy/?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAADLCAmYB2_R_Wt0asbxpZqe5BXIWwgJfO0E" rel="noopener noreferrer"&gt;AWS learning path for beginners.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will learn more than you expect.&lt;/p&gt;

&lt;p&gt;Build more. &lt;/p&gt;

&lt;p&gt;Watch less. &lt;/p&gt;

&lt;p&gt;Your confidence will grow faster than you think.&lt;/p&gt;




&lt;p&gt;Before you go, I am curious.&lt;/p&gt;

&lt;p&gt;Right now, which one are you doing more?&lt;/p&gt;

&lt;p&gt;Watching tutorials or building projects?&lt;/p&gt;

&lt;p&gt;Reply and tell me. I would love to hear your experience.&lt;/p&gt;




&lt;p&gt;Every month, I share simple lessons from my journey learning cloud and DevOps.&lt;/p&gt;

&lt;p&gt;If you enjoy practical stories like this, follow the &lt;a href="https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7336744982432600064" rel="noopener noreferrer"&gt;newsletter&lt;/a&gt; for more.&lt;/p&gt;

&lt;p&gt;You can follow my work and projects on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub &lt;/a&gt;to stay updated on what I’m building and learning.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Can a Non-Technical Person Understand AWS</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Mon, 13 Apr 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/can-a-non-technical-person-understand-aws-a1</link>
      <guid>https://forem.com/ijay/can-a-non-technical-person-understand-aws-a1</guid>
      <description>&lt;p&gt;This video explains Amazon Web Services in simple, everyday language, without technical pressure.&lt;/p&gt;

&lt;p&gt;If you are not from a tech background but keep hearing about cloud computing, AWS jobs, or cloud skills, this video is for you. &lt;/p&gt;

&lt;p&gt;In this video, I broke down what AWS actually is, why companies use it, and what you truly need to understand without becoming an engineer.&lt;/p&gt;

&lt;p&gt;I made this video for beginners, career switchers like me, students, business owners, and anyone curious about cloud computing but overwhelmed by technical explanations.&lt;/p&gt;

&lt;p&gt;You do not need programming experience to follow along. This is a clear explanation of AWS from a non-technical point of view.&lt;/p&gt;

&lt;p&gt;If this video helped you, feel free to leave a comment here and engage on &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;my channel&lt;/a&gt;. I read and learn from your feedback.&lt;/p&gt;

&lt;p&gt;Thank you. ❤️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>nontechnical</category>
      <category>programming</category>
    </item>
    <item>
      <title>Deploying with Terraform</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Wed, 18 Mar 2026 19:27:00 +0000</pubDate>
      <link>https://forem.com/ijay/deploying-with-terraform-g27</link>
      <guid>https://forem.com/ijay/deploying-with-terraform-g27</guid>
      <description>&lt;h2&gt;
  
  
  The workflow design
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pulu1k3f3vcwoygoxpy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5pulu1k3f3vcwoygoxpy.png" alt="The architure" width="630" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my&lt;a href="https://dev.to/ijay/what-is-infrastructure-as-code-10mp"&gt; previous posts&lt;/a&gt;, I focused on understanding Infrastructure as Code and setting up my environment. Now it is time to actually build something.&lt;/p&gt;

&lt;p&gt;In today's challenge, we are to build our website using Terraform.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I used Terraform to create a simple EC2 instance on AWS and made it accessible from the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The setup included:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A provider block to connect to AWS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A resource block to create the EC2 instance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A security group to allow HTTP traffic on port 80&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A user data script to serve a simple HTML page.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdyv444a0rrgkm69yhph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbdyv444a0rrgkm69yhph.png" alt="folder structure" width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To deploy the server, I ran:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;terraform init
terraform plan
terraform apply &lt;span class="nt"&gt;-auto-approve&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Confirming the Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After running terraform apply, Terraform returned a public IP in the AWS Console.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xxqu3xrog2d1tij62bl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xxqu3xrog2d1tij62bl.png" alt="public IP" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I copied the public IP generated and pasted it into the browser:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29or0o7lenq4ov8m65md.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29or0o7lenq4ov8m65md.png" alt="the website" width="634" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That confirmed that the server was running and accessible.&lt;/p&gt;

&lt;h2&gt;
  
  
  The challenges I faced
&lt;/h2&gt;

&lt;p&gt;One issue I encountered was using an invalid AMI. At first, my instance failed to launch because the AMI was not valid for my region.&lt;/p&gt;

&lt;p&gt;I fixed this by using a data block to dynamically fetch the correct Amazon Linux AMI.&lt;/p&gt;

&lt;p&gt;I also had an issue where my server was not loading in the browser. This was because the web server was not properly set up. I fixed it by installing and starting Apache using the user data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Doing this challenge helped me understand how Terraform actually works in practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Instead of clicking around the AWS console, I was able to define everything in code and create infrastructure in a repeatable way.&lt;/p&gt;

&lt;p&gt;This is just the beginning, and I’m looking forward to building more as I continue this challenge.&lt;/p&gt;

&lt;p&gt;If this resonates with you, feel free to share it with others on a similar journey.&lt;/p&gt;




&lt;h2&gt;
  
  
  Other Helpful Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-deploy-a-kubernetes-app-on-aws-eks/" rel="noopener noreferrer"&gt;How to Deploy a Kubernetes App on AWS EKS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/best-aws-services-for-frontend-deployment/" rel="noopener noreferrer"&gt;The Best AWS Services to Deploy Front-End Applications in 2025&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/backend-as-a-service-beginners-guide/" rel="noopener noreferrer"&gt;What is Backend as a Service (BaaS)? A Beginner's Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/the-hidden-challenges-of-building-with-aws-8mg"&gt;The Hidden Challenges of Building with AWS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://labs.play-with-k8s.com/" rel="noopener noreferrer"&gt;Play with Kubernetes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.docker.com/101-tutorial/" rel="noopener noreferrer"&gt;Docker 101 Tutorial&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/how-to-create-a-cicd-using-aws-elastic-beanstalk-15nh"&gt;How to Create a CI/CD Pipeline Using AWS Elastic Beanstalk&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading&lt;/p&gt;

</description>
      <category>aws</category>
      <category>terraform</category>
      <category>cloudcomputing</category>
      <category>devops</category>
    </item>
    <item>
      <title>IAM Permissions Are Confusing</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Wed, 18 Mar 2026 09:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/iam-permissions-are-confusing-17nj</link>
      <guid>https://forem.com/ijay/iam-permissions-are-confusing-17nj</guid>
      <description>&lt;p&gt;If you’ve ever worked with AWS IAM, you've probably felt this way.&lt;/p&gt;

&lt;p&gt;You create a policy. Attach it to a user or role. And still get an "Access Denied" error.&lt;/p&gt;

&lt;p&gt;That happened to me more than once.&lt;/p&gt;

&lt;p&gt;While learning AWS, I even locked myself out of my account after giving the wrong permissions to a service. Not on purpose, I simply didn’t fully understand what the policy was actually allowing.&lt;/p&gt;

&lt;p&gt;That’s when I realised guessing my way through IAM wasn’t helping.&lt;/p&gt;

&lt;p&gt;While trying to make sense of it, I came across the IAM Policy Simulator, and it changed how I approach permissions.&lt;/p&gt;

&lt;p&gt;What I like about the simulator is how simple the idea is.&lt;/p&gt;

&lt;p&gt;It lets you test what a user or role can actually do before you change anything.&lt;/p&gt;

&lt;p&gt;Instead of wondering, you can ask one clear question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Can this user or role perform this action on this resource? (For example: Can this EC2 role read from this S3 bucket?)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The simulator checks all attached policies and shows you the final decision. Seeing it laid out like that helped me understand exactly where things were going wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I usually access it
&lt;/h2&gt;

&lt;p&gt;When I need it, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to AWS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the IAM service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the right-hand side, under Tools, click Policy Simulator. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It redirects to the Policy Simulator page.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or open the IAM Policy Simulator directly here: &lt;a href="https://policysim.aws.amazon.com/" rel="noopener noreferrer"&gt;IAM policy simulator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there, I test the actions I’m unsure about and see what’s allowed or denied.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3bwaidtqw4h48pkx74k.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3bwaidtqw4h48pkx74k.gif" alt="Testing the IAM Policy" width="720" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters (at least for me)
&lt;/h2&gt;

&lt;p&gt;Most of the permission issues I’ve run into weren’t due to anything being missing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They were small details:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A wrong resource ARN&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A condition I didn’t think about&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Or an explicit deny I forgot existed&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The simulator doesn’t fix things for you or replace reading policies carefully, but it clearly shows which policies are affecting or attached to the user or role, and that makes IAM much less frustrating.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’m taking away from this
&lt;/h2&gt;

&lt;p&gt;The IAM Policy Simulator has been a safer way for me to learn permissions. It lets me experiment, understand mistakes, and avoid granting extra permissions just to “make it work.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I’m curious:&lt;/strong&gt; When IAM permissions don’t work as expected, how do you usually debug them? Trial and error or stopping to inspect the policy closely?&lt;/p&gt;

&lt;p&gt;If IAM or any AWS service has ever confused you, follow the &lt;br&gt;
&lt;a href="https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7336744982432600064" rel="noopener noreferrer"&gt;newsletter&lt;/a&gt; or the &lt;a href="https://www.youtube.com/@cloudinreallife" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt; channel. I share what I learn as I continue making sense of AWS.&lt;/p&gt;

&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://twitter.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/m/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloudcomputing</category>
      <category>security</category>
    </item>
    <item>
      <title>Step-by-Step Guide to Setting Up Terraform, AWS CLI, and Your AWS Environment</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Tue, 17 Mar 2026 23:20:50 +0000</pubDate>
      <link>https://forem.com/ijay/step-by-step-guide-to-setting-up-terraform-aws-cli-and-your-aws-environment-50kk</link>
      <guid>https://forem.com/ijay/step-by-step-guide-to-setting-up-terraform-aws-cli-and-your-aws-environment-50kk</guid>
      <description>&lt;p&gt;In my &lt;a href="https://dev.to/ijay/what-is-infrastructure-as-code-10mp"&gt;previous post&lt;/a&gt;, I talked about what Infrastructure as Code is, why it matters, and why I decided to start learning Terraform.&lt;/p&gt;

&lt;p&gt;Now it is time to move from understanding to actually setting things up.&lt;/p&gt;

&lt;p&gt;Before building anything, having the right environment is important. If your setup is not correct, it can slow you down later. So in this post, I will walk through how I set up my Terraform environment and connected it to AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47txnssl1p8mdrrhzsw0.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F47txnssl1p8mdrrhzsw0.jpeg" alt="Lets get started" width="328" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Setting Up AWS Account
&lt;/h2&gt;

&lt;p&gt;I already had an AWS account, so I didn’t need to create a new one. However, I made sure not to use my root account.&lt;/p&gt;

&lt;p&gt;Instead, I created an IAM user with programmatic access using the AWS console and used it for my setup instead of my root account. This is more secure and is the recommended way to work with AWS.&lt;/p&gt;

&lt;p&gt;Step 2: Installing AWS CLI&lt;/p&gt;

&lt;p&gt;Next, I installed AWS CLI on my system.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;awscli &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installation, I checked that it was working by verifying the version. This confirmed that AWS CLI was installed correctly.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Step 3: Checking the credentials&lt;br&gt;
After installing AWS CLI, I configured it using my IAM user credentials.&lt;/p&gt;

&lt;p&gt;I added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Access key&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Secret key&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Default region&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I did this by running &lt;code&gt;aws configure&lt;/code&gt; and following the prompts.&lt;/p&gt;

&lt;p&gt;To confirm everything worked, I checked my AWS identity. It returned my account details, which showed that my setup was correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To check&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;terraform version
aws &lt;span class="nt"&gt;--version&lt;/span&gt;
aws sts get-caller-identity
aws configure list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;Terraform v1.14.7
on linux_amd64
+ provider registry.terraform.io/hashicorp/aws v6.36.0
aws-cli/2.22.12 Python/3.12.6 Linux/6.6.87.2-microsoft-standard-WSL2 exe/x86_64.ubuntu.22
{
    "UserId": "AXXXXXXXXXXXXXXXXXXXV",
    "Account": "2xxxxxxxxxxxx4",
    "Arn": "arn:aws:iam::2xxxxxxxxxxx4:user/onyi"
}
      Name                    Value             Type    Location
      ----                    -----             ----    --------
&lt;/span&gt;&lt;span class="gp"&gt;   profile                &amp;lt;not set&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;             &lt;/span&gt;None    None
&lt;span class="go"&gt;access_key     ****************5SNW shared-credentials-file
secret_key     ****************KJtJ shared-credentials-file
    region                eu-west-1      config-file    ~/.aws/config
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Installing Terraform
&lt;/h2&gt;

&lt;p&gt;I installed Terraform on my system and confirmed it was working by checking the version.&lt;/p&gt;

&lt;p&gt;During this step, I noticed that my Terraform version was outdated. I am currently fixing this by downloading the latest version from the official&lt;br&gt;
&lt;a href="https://developer.hashicorp.com/terraform/install" rel="noopener noreferrer"&gt;Terraform website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ya1w9sgjdgxdxi2gi25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ya1w9sgjdgxdxi2gi25.png" alt="error" width="800" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5. Connecting Terraform to AWS
&lt;/h2&gt;

&lt;p&gt;Terraform uses the AWS credentials configured through AWS CLI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6. Verifying the Setup
&lt;/h2&gt;

&lt;p&gt;To make sure everything was working properly, I ran checks to confirm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Terraform is installed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS CLI is installed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS authentication is working&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS configuration is correct&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything worked as expected, which means my environment is ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges I Faced
&lt;/h2&gt;

&lt;p&gt;The main issue I encountered was that my Terraform version was outdated.&lt;/p&gt;

&lt;p&gt;I discovered this while verifying my setup and started fixing it by installing the latest version.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;From this setup, I learned how Terraform connects to AWS through AWS CLI.&lt;/p&gt;

&lt;p&gt;I also understood why using an IAM user is important instead of using root credentials. It improves security and gives better control over access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;From everything, using the AWS CLI is more secure than clicking the AWS console.&lt;/p&gt;

&lt;p&gt;If this resonates with you, feel free to share it with others on a similar journey.&lt;/p&gt;




&lt;h2&gt;
  
  
  Other Helpful Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-deploy-a-kubernetes-app-on-aws-eks/" rel="noopener noreferrer"&gt;How to Deploy a Kubernetes App on AWS EKS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/best-aws-services-for-frontend-deployment/" rel="noopener noreferrer"&gt;The Best AWS Services to Deploy Front-End Applications in 2025&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/backend-as-a-service-beginners-guide/" rel="noopener noreferrer"&gt;What is Backend as a Service (BaaS)? A Beginner's Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/the-hidden-challenges-of-building-with-aws-8mg"&gt;The Hidden Challenges of Building with AWS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://labs.play-with-k8s.com/" rel="noopener noreferrer"&gt;Play with Kubernetes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.docker.com/101-tutorial/" rel="noopener noreferrer"&gt;Docker 101 Tutorial&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/how-to-create-a-cicd-using-aws-elastic-beanstalk-15nh"&gt;How to Create a CI/CD Pipeline Using AWS Elastic Beanstalk&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading&lt;/p&gt;

</description>
      <category>aws</category>
      <category>terraform</category>
      <category>cloudcomputing</category>
      <category>devops</category>
    </item>
    <item>
      <title>What is Infrastructure as Code?</title>
      <dc:creator>Ijay</dc:creator>
      <pubDate>Tue, 17 Mar 2026 10:00:00 +0000</pubDate>
      <link>https://forem.com/ijay/what-is-infrastructure-as-code-10mp</link>
      <guid>https://forem.com/ijay/what-is-infrastructure-as-code-10mp</guid>
      <description>&lt;p&gt;Learning cloud and DevOps is good, but in the process of learning, I’ve come to understand that Infrastructure as Code is very important.&lt;/p&gt;

&lt;p&gt;In this article, I will cover&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;What Infrastructure as Code is and the problem it solves&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The difference between declarative and imperative approaches&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Why Terraform is worth learning&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;My reason for taking on this 30-day challenge&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc09rkgznxjlxdsembnf5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc09rkgznxjlxdsembnf5.png" alt="Let's get started" width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Infrastructure as Code (IaC)
&lt;/h2&gt;

&lt;p&gt;From my reading, Infrastructure as Code means using code to manage and set up infrastructure instead of doing everything manually. It is mostly used by DevOps and cloud engineers to provision resources in the cloud.&lt;/p&gt;

&lt;p&gt;What problem does it solve?&lt;/p&gt;

&lt;p&gt;IaC solves a lot of issues, especially what people call click ops. Instead of going to the cloud console and clicking around, which can lead to mistakes, you define everything in code. This makes it easier to repeat the same setup and avoid errors.&lt;/p&gt;

&lt;p&gt;What are the ways Terraform is defined?&lt;/p&gt;

&lt;p&gt;There are two ways Terraform is defined in editors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Declarative&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Imperative&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1.Declarative: means you describe what you want, and the tool figures out how to achieve it.&lt;/p&gt;

&lt;p&gt;For example, if you want to create an S3 bucket in AWS using Terraform, you just write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight terraform"&gt;&lt;code&gt;&lt;span class="k"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket"&lt;/span&gt; &lt;span class="s2"&gt;"example"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"my-example-bucket"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the example above, you are only saying, "Create a bucket with this name.” Terraform handles how it will be created.&lt;/p&gt;

&lt;p&gt;2.Imperative: means you define every single step to get the result.&lt;/p&gt;

&lt;p&gt;For example, using AWS CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws s3 mb s3://my-example-bucket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Which method is commonly used by developers?
&lt;/h2&gt;

&lt;p&gt;In declaring a HashiCorp Configuration Language (HCL), most developers use declarative rather than imperative because you only define what you want, and the tool handles the process. It reduces errors and makes infrastructure easier to manage.&lt;/p&gt;

&lt;p&gt;While imperative is useful for quick tasks, it is not for long-term and scalable systems. i.e., step by step&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do we use Terraform basically
&lt;/h2&gt;

&lt;p&gt;Terraform is used for provisioning infrastructure across different cloud providers. It is not limited to one cloud like CloudFormation, so it is more flexible and widely used.&lt;/p&gt;

&lt;h2&gt;
  
  
  My goal for the next 30 days
&lt;/h2&gt;

&lt;p&gt;My goal is to challenge myself to build using IaC and stop relying on clicking around in AWS. I want to improve my skills, become better as a DevOps and cloud engineer, and get more comfortable building real things.&lt;/p&gt;

&lt;p&gt;If this resonates with you, feel free to share it with others on a similar journey.&lt;/p&gt;




&lt;h2&gt;
  
  
  Other Helpful Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-deploy-a-kubernetes-app-on-aws-eks/" rel="noopener noreferrer"&gt;How to Deploy a Kubernetes App on AWS EKS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/best-aws-services-for-frontend-deployment/" rel="noopener noreferrer"&gt;The Best AWS Services to Deploy Front-End Applications in 2025&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.freecodecamp.org/news/backend-as-a-service-beginners-guide/" rel="noopener noreferrer"&gt;What is Backend as a Service (BaaS)? A Beginner's Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/the-hidden-challenges-of-building-with-aws-8mg"&gt;The Hidden Challenges of Building with AWS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://labs.play-with-k8s.com/" rel="noopener noreferrer"&gt;Play with Kubernetes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.docker.com/101-tutorial/" rel="noopener noreferrer"&gt;Docker 101 Tutorial&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dev.to/ijay/how-to-create-a-cicd-using-aws-elastic-beanstalk-15nh"&gt;How to Create a CI/CD Pipeline Using AWS Elastic Beanstalk&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Stay updated with my projects by following me on &lt;a href="https://x.com/ijaydimples" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, &lt;a href="https://www.linkedin.com/in/ijeoma-igboagu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, and &lt;a href="https://github.com/ijayhub" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for reading&lt;/p&gt;

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