DEV Community

Cover image for Terraform: Introduction
AF uarabei
AF uarabei

Posted on • Edited on

Terraform: Introduction

Introduction and Motivation

Hello and welcome to my series of articles where I will attempt to document my road to getting a Terraform certificate.

Before we dive into the requirements of the Terraform exam I would like to take a minute and talk about myself and how I got to the point where Terraform became something that I want to learn how to use.

Hi! My name is Andrey and I am a Python and Django developer. It was rather early in my software developer journey when I realized that knowing how to write code and knowing your framework/library/language of choice is not enough to call yourself a web developer.

Deployment is a weird part of web development that few tutorials or textbooks mention, yet it is something that most of the employers would expect from a web developer. It is implied that a web developer should not only know how to make a web applications but also know how to deploy them.

There are many choices when it comes to deploying and hosting web applications with notable examples being AWS, GCP, Azure, Heroku, and many more. I chose AWS and started learning how to properly use it. The more I learned the intricacies of that platform the less I wanted to manage it manually. Even AWS CLI did not look like a good solution for managing infrastructure beyond a very basic setup.

At this point I was on the hunt for a way to simplify the deployment and management of AWS resources. Enter Infrastructure-as-Code (IaC). Turned out I was not alone in not wanting to manage infrastructure manually. AWS, GCP, and Azure all offer native IaC solutions. There are also 3rd party tools like Terraform, Pulumi, Puppet, Ansible, Chef, and Puppet.

I decided to go with Terraform because platform-agnostic approach means that I can use it regardless of where the resources are hosted AND I can mix-and-match resources from different providers in a single configuration. Being the most popular IaC tool meant that there is a wealth of resources online to help me along the way. Talk about jackpot.

With the tool chosen I went to Terraform’s official website to see how I can start learning to use it. Luckily, HashiCorp offers Terraform Associate certification. I am a big fan of certifications because not only they look good on any resume but they also provide a good roadmap for covering the basics.

#

So, here I am, using this blog as a way to take notes in preparation for this exam. Leslie Lamport said that writing is the nature’s way of telling us how fuzzy our thinking is and writing this blog will be a test of my understanding of this topic. Whether you are thinking about acquiring this certification yourself or you are curious about Terraform join me on this journey as I dive deep into this topic.

Top comments (0)