Deploy Node.js Applications to AWS Elastic Beanstalk with Terraform and GitHub Actions

Deploy Node.js Applications to AWS Elastic Beanstalk with Terraform and GitHub Actions

Moving applications to the cloud delivers scalability, operational flexibility, and service choice that on-premises infrastructure can't match. The key to unlocking these advantages lies in selecting the right migration strategy. But the migration path matters - some strategies preserve existing code while others require complete rewrites, each with different resource requirements. Choose the right approach, … Continue reading Deploy Node.js Applications to AWS Elastic Beanstalk with Terraform and GitHub Actions

Eliminate sensitive values from Terraform state using write-only attributes

Terraform has emerged as the infrastructure as code (IAC) tool of choice for organizations due to its intuitive approach to infrastructure provisioning, declarative syntax, extensive provider ecosystem, and robust CI/CD integration. In my previous note, we learned how to securely store secrets in AWS Secrets Manager using Terraform and GitHub Actions. But there’s a critical … Continue reading Eliminate sensitive values from Terraform state using write-only attributes

Amazon S3-SNS-Lambda Event-Driven Architecture with Terraform

When development teams need to process thousands of file uploads daily across multiple applications, traditional polling-based monitoring systems create significant operational overhead and cost inefficiencies. Manual file-processing workflows can't scale to meet modern application demands, leading to delayed processing, wasted resources, and potential data loss during peak loads. Event-driven architecture solves this challenge by automatically … Continue reading Amazon S3-SNS-Lambda Event-Driven Architecture with Terraform

Automate AWS resource import into Terraform state using GitHub Actions

Organizations choose Terraform as their cloud infrastructure automation tool primarily for its features, such as idempotency, repeatability, and declarative configuration management, which enable teams to version-control their infrastructure alongside application code. However, many organizations don't have the luxury of starting fresh with Terraform. At times, organizations face scenarios in which critical cloud resources have already … Continue reading Automate AWS resource import into Terraform state using GitHub Actions

Automated GitHub Self-Hosted Runner Cleanup: Lambda Functions and Auto Scaling Lifecycle Hooks

Running self-hosted GitHub runners on an Auto Scaling group enables organizations to have high availability during active development so that development teams do not have to compromise on runner availability. This allows development teams to have the same flexibility as that of a GitHub-hosted runner while also maintaining all the benefits of self-hosted runners, such … Continue reading Automated GitHub Self-Hosted Runner Cleanup: Lambda Functions and Auto Scaling Lifecycle Hooks

Build Secure GitHub Self-Hosted Runners on Amazon EC2 with Terraform

GitHub, in addition to being an excellent version control system, offers workflow automation capabilities (Actions) that enable testing, building, and deploying code based on triggers such as code commits, pull requests, or scheduled events. These workflows run on runners, which are virtual or physical machines that execute these workflow steps.While GitHub offers free hosted runners … Continue reading Build Secure GitHub Self-Hosted Runners on Amazon EC2 with Terraform

Enable Domain Name System (DNS) query logging for Amazon Route 53 hosted zones using Terraform

Maintaining visibility into DNS-related activities is crucial for organizations to ensure the security and performance of their web-based applications. Cloud engineering teams must use tools to effectively monitor and analyze DNS queries to protect from DNS-based attacks and optimize performance for genuine requests. DNS Query logging for Amazon Route 53 hosted zones addresses this challenge … Continue reading Enable Domain Name System (DNS) query logging for Amazon Route 53 hosted zones using Terraform

Attach AWS WAF to load balancer using Terraform and GitHub Actions

Public-facing load balancers are vulnerable to attacks, including DDoS, SQL injection, cross-site scripting (XSS), and bot attacks. These attacks can degrade the load balancer's performance, rendering it unavailable to legitimate users and negatively impacting business operations. AWS Web Application Firewall (WAF) is a service designed to protect resources like load balancers, Amazon CloudFront distributions, API … Continue reading Attach AWS WAF to load balancer using Terraform and GitHub Actions

Automate Amazon Route 53 hosted zone, ACM, and Load Balancer provisioning with Terraform and GitHub Actions

AWS provides seamless integration to manage secure traffic routing through an Amazon Route 53 hosted zone to an Application Load Balancer (ALB), using a secure certificate from AWS Certificate Manager (ACM). I build upon a previously discussed use case such that by the end of this note, you'll have the concept of creating an ALB … Continue reading Automate Amazon Route 53 hosted zone, ACM, and Load Balancer provisioning with Terraform and GitHub Actions

Automate Terraform Testing with Azure DevOps Pipelines

HashiCorp introduced the Terraform testing framework with version 1.06 of Terraform. This note captures my experience learning and adding test cases to an existing Terraform configuration using Azure DevOps Pipelines. Along with my notes, you'll also find references to helpful guides and YouTube videos. By the end of this note, I want you to feel … Continue reading Automate Terraform Testing with Azure DevOps Pipelines