Guide
Infrastructure as Code

IaC - Infrastructure as Code

What is Infrastructure as Code?

Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of through manual processes. With IaC, configuration files are created that contain your infrastructure specifications, which makes it easier to edit and distribute configurations.

Which tool to go for?

I personally recommend Terraform since it's cloud-agnostic, meaning it can work with different Cloud service providers. You might have heard of other tools that are specific to a cloud provider, such as:

Cloud ProviderIaC Tool
AWSCloudFormation (opens in a new tab)
AzureBicep (opens in a new tab)
GCPGoogle Cloud Deployment Manager (opens in a new tab)

What is Terraform?

Terraform was developed by Hashicorp (opens in a new tab). It is a configuration orchestration tool that is incredible for provisioning, adjusting and destroying the virtual server environments. It is available both as a DevOps-as-a-Service enterprise-grade from Hashicorp and as an open-source solution, which allows you to work with a variety of Cloud Service Providers to create multi-cloud ecosystems.

Terraform Diagram

Courses

Deploy infrastructure to Azure with Terraform

Deploy infrastructure to GCP with Terraform

Other Resources

ResourceNotes
Terraform explained in 15 mins (opens in a new tab)TechWorld with Nana explains what Terraform is, its use cases, how it works
HashiCorp Learn (opens in a new tab)Build, change, and destroy infrastructure with Terraform. Start here to learn the basics of Terraform with your favorite cloud provider.
freeCodeCamp Terraform Course (opens in a new tab)Terraform Course - Automate your AWS cloud infrastructure
Terraform notes (opens in a new tab)Rishab's notes on Terraform