Have you recently admired AWS cloud platform capabilities? Are you appealed by the pay-as-you-use pricing model? Are you looking forward to hosting your products and services on AWS? Then you should also be prepared to spend hours figuring out why you are paying that penny!

Photo by Yaopey Yong on Unsplash

Today AWS offers 200+ Managed IAAS services and each of them come with their own complex pricing model. The pricing model for each service usually consists of a combination of several usage parameters and patterns to evaluate how much you would pay at the end of the month.

Due to this complexity and unpredictable usage…

Category: AWS Well-Architected Framework

Cloud providers like AWS have already made lives easy by taking all your infrastructure-related worries away. This comes at a cost, but it is still very cost-efficient. Moreover, talking about costs — just doesn’t stop here. As they say, there is always scope for improvement. In this post, we take a look at some ways by which we can optimize cloud costs even further, in the context of AWS.

Before we take a look at any specific service or strategies, let us take a moment to understand the importance of tags. To deal with costs and answer the expenditure-related questions…

Category: AWS Well Architected Framework

The title of the post could also be read as — “Why don’t you want to save money?”. Well there it is, the answer to the question, you may not even read further. However, if you are interested to know certain aspects of AWS Cloud Cost Optimization then this post is for you. Here we highlight what we mean by optimizing the costs in AWS cloud architecture and realize the ways we can benefit from it.

The traditional maintenance of IT infrastructure was not very, hmm, efficient? I fall short of words to describe the same mostly because millennials will…

Photo by: NordWood Themes on Unsplash

Note: I am doing this blog post in collaboration with Infracode. These guys are super-cool and are working on some amazing products in IaC realm.

Meta-arguments are special constructs provided for resources. In InfraCode’s blog, “An Introduction to Terraform Templates,” they explain that the resource blocks are where we declare the actual cloud resources that are to be used on our infrastructure. Often, it becomes tricky to declare resources in a way that satisfies certain requirements.

This blog post will focus on meta-arguments for Terraform — and everything you need to know about them, ranging from providers to lifecycle.


In this series, we have been using Terraform by ourselves. We defined the infrastructure — created a plan, created the infrastructure itself and also we saved our code to Github. We had the choice to store and maintain states locally.

However, using Terraform in a team where more than one developer are contributing to the Terraform code can get a bit tricky. Certainly there are different approaches to using Terraform in a team mode for collaboration — especially the teams which belong to organisations. …

Okay, enough talking about creating cloud resources! We have created a couple of instances using our Terraform code. But, now what? We usually spin up cloud resources for some purpose. When the resources are successfully created, it is rather a start of something.

What are provisioners?

Cloud resources by themselves are not much of use. Compute resources are created to deploy some applications on them. The part where applications or softwares are installed and/or managed is called provisioning.

Traditionally, sysadmins would SSH into these machines and run some commands to download and install the softwares. In case of upgrades, they would do the…

In this post, we discuss backends that can be used with Terraform. Working with backends is essential when a larger team works on developing Terraform code. This is mainly because Terraform relies heavily on states for its operations and there is a huge scope of states getting “corrupted” if we “just use Github” to maintain the same.

We would not go into the details of those complexities in this post. It is indeed a topic for another post as we would go through the process of how teams can collaborate on Terraform IaC. …

Data Sources in Terraform is one of the important concepts which enables you to work with data values sourced from somewhere else. Somewhere else here would mean other modules, or cloud providers, or even locally.

There are situations where the Terraform code needs to query a “fresh” set of values to be used while applying the configuration. These queries are based on certain criteria, which means any value that fulfills the criteria is good enough for the infrastructure configuration to be created.

Data sources are similar to resources but not the same. They are also made available by the providers…

Modules are a way to organize Terraform code into re-usable chunks of IaC. Managing code for the complex infrastructure stack in a single go is not a good idea. This is for obvious reasons, the maintenance of the infrastructure itself may become a headache trying to figure out what caused what in lots of lines of IaC.

Thus, it makes sense to logically break down the infrastructure and wrap those logical parts into what is known as Modules. Modules represent a part of the infrastructure which is frequently (re)used together.

It is similar to libraries we use in various application…

This is one of the fundamental concepts while learning to work with Terraform. We will make use of this commit for the example we have been using in this Terraform series. Feel free to clone the repo and follow along.

What are Terraform states?

As we know till now, Terraform helps us manage cloud resources in the form of IaC and thus it benefits from several best practices used in software development. One of the benefits is version control — usually managed by Git which is also capable of remotely maintaining the repositories.

However, version control is not enough when it comes to infrastructure…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store