A highly available application has higher chances of attracting customers because they are assured of consistency in service. Load balancing is a cost-effective way to increase an application's availability. In this note, I describe the steps to add an application load balancer to three EC2 instances hosted in three different availability zones in a region … Continue reading Add an application load balancer to AWS EC2 using Terraform
Terraform uses AWS IAM user credentials to manage resources in the AWS cloud. It does so by utilizing the secret key and access key of the IAM user. Hence, Terraform's ability to manage (create/update/delete) resources depend on the permission associated with the AWS IAM user. When I started working with Terraform to manage resources in … Continue reading Strengthen security posture with Terraform and AWS IAM to manage AWS cloud resources
A few months back, I came across an interesting concept of deploying infrastructure in a layered fashion, and I wish I had the URL saved to refer to it again. Nevertheless, the gist of the idea was that you could build an application product environment by deploying layer after layer of infrastructure. A layer of … Continue reading Terraform remote state file as a data source to support a layered IAC approach
In my previous note, [Azure DevOps and Terraform to provision AWS S3], I listed in detail the steps to be followed to provision an S3 bucket using Azure DevOps and Terraform. I referred to the classic editor in the build definition/azure pipelines. Build and release definitions declared via a classic editor in Azure DevOps, although … Continue reading Azure Pipelines (YAML) and Terraform to provision AWS S3
Here's an interesting use case I came across -that I thought could also be a useful resource to share- and hence this post. I've worked on Terraform and am aware of the solution that it provides to IaC principles. I've worked extensively on Azure DevOps and know that Azure Pipelines can be good at orchestration … Continue reading Azure DevOps and Terraform to provision AWS S3
Provisioning and de-provisioning computing resources happen at a faster rate as the process of doing so become accessible. And cloud technologies like AWS and Azure have made it easy, cheap, and quick to do so. However, provisioning resources manually (although possible) is not scalable and also not efficient. Any organization pursuing its DevOps journey must … Continue reading Getting started with Terraform
"Sourav, we need a new environment to perform integration testing of our application" -supervisor to me. "Okay..." -me. "Do you have that checklist that you created the last time we requested a new environment?" "Yes, I was just thinking about that... But that was more than an year back and since then we've added a … Continue reading What is Infrastructure as Code?
(this thought process derives heavily from my experience as a scm, build and release engineer working on automation, scripting and trying to make my job exciting. Feel free to disagree)In the earlier days (2000's maybe?) most of the tasks around build and release involved manual steps in the follow sequence:Step 1: development check-in codeStep 2: … Continue reading Idempotency in Infrastructure as Code