Automating AWS Lambda Deployment: Harnessing Terraform, GitHub Actions, and Python for CloudWatch Logging

Per AWS-Docs, AWS Lambda is a serverless computing service provided by Amazon Web Services (AWS) that allows developers to run code without provisioning or managing servers. With Lambda, you can execute code in response to events such as HTTP requests, database changes, or file uploads, scaling automatically with usage. It supports various programming languages and … Continue reading Automating AWS Lambda Deployment: Harnessing Terraform, GitHub Actions, and Python for CloudWatch Logging

Automating AWS Infrastructure with CloudFormation and GitHub Actions: A Tutorial

This note aims to demonstrate how to deploy a couple of CloudFormation templates using GitHub Actions to create Amazon cloud resources. There are two tools we're discussing. The first one is AWS CloudFormation, an infrastructure as a code tool to provision AWS cloud resources declaratively. The AWS cloud resources and their relationships are declared in … Continue reading Automating AWS Infrastructure with CloudFormation and GitHub Actions: A Tutorial

Continuous Deployment of Amazon ECS service using Terraform and GitHub Actions

This note demonstrates how to host a Docker image as a container in Amazon Elastic Container Service (Amazon ECS). Per AWS Docs, Amazon ECS is a fully managed container orchestration service that helps you easily deploy, manage, and scale containerized applications. Deploying a service into Amazon ECS can be divided into three separate use cases: … Continue reading Continuous Deployment of Amazon ECS service using Terraform and GitHub Actions

Build, Scan, and Push Docker image to Amazon ECR using GitHub Actions

This blog post is the second part of an umbrella series in which I demonstrate how to create and deploy an Amazon Elastic Container Service (ECS) service using Terraform and GitHub Actions. In the first part, I covered creating all the required AWS cloud services to host the ECS service. In this second part, I'll … Continue reading Build, Scan, and Push Docker image to Amazon ECR using GitHub Actions

Create infrastructure to host an Amazon ECS Service using Terraform

This is the first part of an umbrella note in which I describe how to create and deploy an Amazon ECS service using Terraform and GitHub Actions. The cloud engineering team must provision particular AWS cloud services before hosting a container in Amazon ECS. In this note, I list all the required AWS services, their … Continue reading Create infrastructure to host an Amazon ECS Service using Terraform

Create an Amazon ElastiCache for Redis cluster using Terraform

Reading the title, you must have a fair idea of what we’re discussing in this note. Also, I followed a few best practices while creating the Amazon ElastiCache service, like enabling multi-availability zone, multi-node, logging, and encryption in transit and at rest. I have a link to my GitHub repository with the Terraform and GitHub … Continue reading Create an Amazon ElastiCache for Redis cluster using Terraform

Create Amazon EC2 Auto Scaling group and load balancer using Terraform and GitHub Actions

When project teams host an application or service on an Amazon EC2 instance, they have specific questions about the underlying infrastructure. A few of them could be: (a) Can the project team be assured that if some or all existing EC2 instances were terminated or unresponsive, new Amazon EC2 instances (with the application hosted) would … Continue reading Create Amazon EC2 Auto Scaling group and load balancer using Terraform and GitHub Actions

Deploy Across AWS Accounts Like a Pro: Terragrunt, Terraform, and GitHub Actions

In the past, I've written a note explaining the process of deploying the Terraform IaC configuration into an AWS account using GitHub Actions. In this note, I extend that functionality and deploy the same Terraform IaC configuration across multiple AWS accounts using Terragrunt and GitHub Actions. Before we delve deeper, let me briefly explain the … Continue reading Deploy Across AWS Accounts Like a Pro: Terragrunt, Terraform, and GitHub Actions

Add an application load balancer to Amazon EC2 instances in a private subnet

In this note, I create a highly available environment using Amazon EC2 instances spread over multiple availability zones attached to an application load balancer. I also have a link to my GitHub repository with the code. In the past, I wrote a note on how to toggle traffic between three EC2 instances in three availability … Continue reading Add an application load balancer to Amazon EC2 instances in a private subnet

Implement pull request-based workflow using Terraform, Infracost, Checkov, and GitHub Actions

The software development process has continuously evolved over the past several years. The evolution process continued with the wide-scale availability of cloud platforms like AWS and Azure. We realized the practice of infrastructure as code (IAC) when the development practice of coding was merged with the operations practice of creating and managing cloud infrastructure. Then, … Continue reading Implement pull request-based workflow using Terraform, Infracost, Checkov, and GitHub Actions