In almost every DevOps discussion today, secret management comes up sooner or later. Tools like HashiCorp Vault, Azure Key Vault, AWS Secrets Manager, and CyberArk are often projected as the default choices. While these tools are powerful and enterprise-grade, they also come with operational overhead, licensing costs, and management complexity especially for small teams, PoCs,…
What Are Terraform Local and External Variables? Explained with Examples
When I first started writing Terraform code, I remember how confusing variables felt in the beginning. I had variable blocks everywhere some defined locally, some coming from outside, and I used to wonder which one takes priority and how Terraform actually decides the value. Over time, as I built real-world automation, I realized understanding variables…
How to Deploy Docker Containers with NGINX on AWS EC2 Using Ansible and GitHub Actions
Have you ever wanted to automate Docker container deployment on an EC2 instance. That was exactly what I wanted to do last week and instead of doing it the old-fashioned way with SSH and manual scripts, I decided to automate it using Ansible and run it through GitHub Actions (CI/CD). The result? A super clean…
No More DynamoDB! Use Native S3 locking for Terraform State
If you’ve been managing your Terraform state in AWS S3, you’ve probably been using DynamoDB to enable state locking. Well, here’s some great news: Terraform 1.10 lets you ditch DynamoDB and handle state locking directly in S3! No extra tables, no extra costs, and no more unnecessary complexity. So, how does it work? Let me…
How to Bring and Manage Manually Created AWS Resources Under Terraform Management
Imagine a scenario where you might prefer to provision the resources manually in Cloud because it’s quick and easy. Maybe you needed a Cloud resource such as security group in a hurry, or someone on the team just created it without thinking about Terraform. Fast forward a few weeks, and now you’ve ended with a…
Iterating Cloud Resource Provisioning Using Terraform Count and For_Each Meta-Arguments
I have sometimes seen some people feel confused in choosing between count and for_each in Terraform. Both constructs help to dynamically create multiple resources, yet their use cases and behavior differ significantly. Let me break it down in simple terms and demonstrate their differences with an example: provisioning AWS Security Groups. Note: Since creating Security…
Terraform and Ansible Collaboration for AWS Cloud Deployment
In modern IT, automation and efficiency are crucial. Terraform and Ansible are leading Infrastructure as Code (IaC) tools, each with unique strengths. Terraform excels at provisioning cloud infrastructure across multiple providers using a declarative language, while Ansible focuses on configuration management and application deployment through agentless automation. Terraform Overview Terraform, developed by HashiCorp, allows…
Automating AWS Infrastructure Provisioning in Your CI/CD Pipeline with Terraform and GitHub Actions
In this article, I will guide you with the steps on how to provision an instance (VM) in AWS Cloud by using Terraform code and a CICD pipeline that is GitHub Action. But before proceeding further, let me give you a brief overview of Terraform and GitHub Action. Terraform Terraform is an open-source Infrastructure…
Persistent Disk Mapping in Linux – Udev Rules vs. Multipath Configuration
In Linux, ensuring persistent device names for storage volumes is crucial, especially in environments where device names can change across reboots or when new devices are added. This persisting mapping become more crucial if you want to provision raw storage volume for Oracle ASM disks. There are two common methods to achieve this persistence either…
How to clear memory cache and buffer in Linux
Linux, like other operating systems, has an efficient and affective memory management for managing memory hungry Application or database. RAM as you know is a vital part for Operating systems for storing code and data, in Linux it uses memory cache and buffer for improving the system performance. If I talk bit more about memory…
