Why Terraform makes you a better Cloud Architect

Why Terraform makes you a better Cloud Architect

The motivation for this article came from my unique situation of having to dabble with different clouds at the same time in a bid to reduce cost , compare efficiency and get optimum performance for one of our cloud based solution.

The motivation for this article came from my unique situation of having to dabble with different clouds at the same time in a bid to reduce cost , compare efficiency and get optimum performance for one of our cloud based solution.

Before proceeding further , I assume that you have some basic understanding of a Cloud and have done atleast a guided tutorial of deploying an EC2 instance in AWS ( the most basic one )

Initiation for the un-initiated

What is Terraform ?

Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.

Let that thought sink in. Infrastructure as code !!! How do you do that ?

Let’s get working.

Remember the guided tutorial for deploying an EC2 instance ? If you cannot then here is the documentation from AWS ( not the greatest though )

The bare minimum number of steps in the AWS documentation is 8 steps. However did you know that you can deploy your instance from the 2nd step itself ?.

See the screenshot below where you have a Review and Launch button.

For simplicity , I’m going to take you through the EC2 instance creation in the standard native steps of AWS and then with Terraform so that you can understand the power of Terraform.

Console based resource creation :

While it may look convenient and simple that you can deploy a virtual machine in just 2 clicks , it means that for the remaining steps described in the documentation AWS uses the default values for that deployment .

In case of an EC2 instance the following are defaulted if you hit the button in step 2.

  1. Your VM is added to the default VPC of your AWS account
  2. A default 8 GB Storage is added
  3. No identification tags are added
  4. A new security group is added and the VM is attached to that security group

After this you can select the key-pair you want to use to remotely access your VM and the VM is getting created.

Too many defaults ?.

CLI based resource creation :

If you are championing the cause of CLI , then you’ll agree that you first need to install the CLI in order to use it. So , if you are on all the top 3 clouds ( Azure , GCP and AWS ) then you end up installing 3 different CLIs . Not stopping there you also need to remember the various syntaxes for each of these CLIs. God they are so complex.

terraform azure aws gcp

What is Geek Coin

What is GeekCash, Geek Token

Best Visual Studio Code Themes of 2021

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Why Terraform? How to Getting Started with Terraform Using AWS

Why Terraform? How to Getting Started with Terraform Using AWS. Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

Complete Guide to Terraform AWS

Complete Guide to Terraform AWS. In this article, we’ll dive into: A Beginner’s Overview to Terraform AWS, Managing AWS Storage, Terraform AWS Best Practices.

AWS vs Azure vs GCP | Amazon Web Services vs Microsoft Azure vs Google Cloud Platform

This "AWS vs Azure vs Google Cloud" video by Edureka will firstly introduces the top 3 cloud service providers and then compares them with each other based on various factors like market share, growth rate, availability zones, pricing and so on.

Git Actions & Terraform for Data Engineers & Scientists — GCP/AWS/Azure

Data Ops – Git Actions & Terraform for Data Engineers & Scientists — GCP/AWS/Azure. With this post, Data Engineers and Scientists can CICD Infrastructure with ease. Github Actions workflow to run TF steps. Integrating Terraform cloud to Github.

What’s there except AWS, Azure or GCP?

Three alternatives to AWS, Azure and GCP