How to learn TerraForm
Tags: technology, terraform, gettingstarted, learning
Published: 2020-02-26 18:47:14

---
title: How to learn TerraForm
published: true
date: 2020-02-26 09:00:00 UTC
tags: Technology,Terraform,Getting Started,learning
canonical_url: 
---

So as should surprise no-one, I’ve been doing a lot of work with TerraForm lately, and I’m a huge fan of it in general. Recently doing a post talking about the basics of modules. (which can be found [here](http://www.welldocumentednerd.com/2020/02/12/working-with-modules-in-terraform)).

But one common question I’ve gotten a lot of is how to go about Learning TerraForm. Where do I start? So I wanted to do a post gathering some education resources to help.

First for the what is TerraForm, TerraForm is an open source product, created by HashiCorp which enables infrastructure-as-code, specifically designed to be cloud vendor agnostic. If you want to learn the basics, I recommend this video I did with Steve Michelotti about TerraForm and Azure Government:

<iframe type="text/html" width="640" height="360" src="https://www.youtube.com/embed/6UDePj5newo?version=3&amp;rel=1&amp;fs=1&amp;autohide=2&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent" allowfullscreen="true" style="border:0;"></iframe>

But more than that, the question becomes how do I go about learning TerraForm. The first part is configuring your machine, and for that you can find a blog post I did [here](https://dev.to/documentednerd/configuring-terraform-development-environment-2a9). There are somethings you need to do to setup your environment for terraform, and without any guidance it can be confusing.

But once you know what TerraForm is, the question becomes, how do I learn about / how to use it?

- [TerraForm – Learn](https://learn.hashicorp.com/terraform?track=azure#azure) : HashiCorp does provide a site that has several tutorials that walk you through the basics of TerraForm with a lot of code samples.  
- [Azure Fridays](https://channel9.msdn.com/Shows/Azure-Friday/HashiCorp-Terraform-on-Azure?term=terraform&lang-en=true) : A video with Scott Hanselman about the key elements of TerraForm.  
- [Deploying Infrastructure with TerraForm](https://channel9.msdn.com/Shows/DevOps-Lab/Deploying-your-Azure-Infrastructure-with-Terraform?term=terraform&lang-en=true) : A good video talking about the specifics of deploying infrastructure with TerraForm. 
- [Securing the state file with TerraForm](https://channel9.msdn.com/Shows/DevOps-Lab/Terraform-State-File-Secure-and-scale-your-deployments?term=terraform&lang-en=true) : A key part of doing TerraForm development is managing state, and its important to do this securely and here’s a video on how to do so.

Outside of these, what I recommend is using the module registry, so one of the biggest strengths of TerraForm is a public module repository that allows you to see re-usable code written by others. I highly recommend this as a great way to see working code and play around with it. Here’s the [public module registry](https://registry.terraform.io/).

So that’s a list of some resources to get you started on learning TerraForm, obviously there are also classes by PluralSight, Udemy, and Lynda. But I’ve not leveraged those, if you are a fan of structured class settings, those would be good places to start.