Why Terraform is a sought-after IaC tool

Search for a command to run...

No comments yet. Be the first to comment.
In this series we will discuss the concept of Infrastructure as code, the types of it and various IAC tools and their features
Hello Folks, we are moving ahead with our Infrastructure as Code series with Terraform. We are going to discuss the basics of HCL the language used in the terraform tool. The new name for this language is Terraform Language in the newer versions. Let...
Hello everyone. Welcome Back to the series after a very long time. The delay wasn’t intentional but it so happened. Hoping to be consistent henceforth. In the previous article of the series, we discussed in brief all the three ways. Now in this one, ...

Welcome back to the AWS SAA series. We will continue from where we left in the last blog. Buckets aren’t encrypted. But Objects are. Each object could be using different encryption settings. There are two main types of encryption at rest: Client sid...

The next topic in our series would be about Key Management Service before we can discuss how encryption happens in the S3 buckets. This is a separate topic in itself. Lets start. AWS Key Management Service (AWS KMS) lets us create, manage, and contro...

Hello there, continuing with our series, lets look into AWS S3 Performance optimization w.r.t uploads Single PUT upload This is the S3 Default upload method The data is transferred in a single stream to S3 A file becomes an object and is uploaded usi...

Object versioning is a feature which can be enabled on an S3 bucket - allowing the bucket to store multiple versions of objects These objects can be referenced by their version ID to interact directly - or omit this to reference the latest version of...

Let’s discuss the features of Terraform on a high-level. It is a free and open source tool developed by Hashicorp which helps to build, manage and destroy infrastructure within minutes
Major advantage - it be used to deploy infrastructure on multiple platforms like Cloud service providers, Vmware and other vendors
How does it manage infrastructure on third party platforms - through providers (API) It supports hundreds of providers and can work with almost any platforms
The language it uses – Hashicorp Configuration Language – a simple declarative language used to define infrastructure resources to be provisioned as blocks of code. The config file has a extension of .tf
[Note: HCL is used in version 0.11 and earlier]
It is an easy to read, write and understand even for a beginner
What is declarative mean? The code we define is the state that we want the infrastructure to be in.
How does Terraform move from current state to desired state? There are three phases of operation
Apply --→ Performs the necessary changes on target environment to the desired state
If the target environment shifts from the desired state for any reason, the subsequent apply moves the tgt environment to desired state by fixing the missing part.
Any object that Terraform manages is called a resource. Manages the lifecycle of the resource from provisioning, managing to decommissioning.
It records the state of the infrastructure as it is in the real world and based on it it determines what action is needed while updating resources on a certain platform. It can ensure that the infrastructure is always in the desired state.
State ---→ blueprint of infrastructure deployed by Terraform.
It can read attributes of existing infrastructure by configuring data sources and can be used by Terraform to configure other resources.
Terraform Cloud and Terraform Enterprise provide additional features for simplified collaboration between teams managing infrastructure, improved security and centralized UI for managing TF deployments.
These features make it an excellent infrastructure provisioning tool.