DEV Community

Cover image for Terraform simply explained
TechWorld with Nana
TechWorld with Nana

Posted on • Updated on

Terraform simply explained

With the below Terraform Tutorial 🎬 you'll get a good overview of what Terraform is, how Terraform works, how it does its job to get started quickly.

The video covers the following:

What is Terraform?

Terraform is a tool for infrastructure provisioning to build out infrastructure through code, often called Infrastructure as Code.

So, Terraform allows you to automate and manage your infrastructure, your platform and your services that run on that platform.
It's open source and declarative, which means you define WHAT you want (the desired "end state") rather then describing exactly each step or HOW to do it.

What is Terraform used for? Use Cases

On the one hand Terraform is used for creating or provision new infrastructure and for managing existing infrastructure:
Terraform Managing Existing Infrastructure
On the other hand it can be used to replicate infrastructure. E.g. when you want to replicate the development setup also for staging or production environment:
Terraform Replicating Infrastructure

How Terraform works? Terraforms Architecture

Terraform has 2 main components:

  • CORE

Terraform's Core takes two input sources, which are your configuration files (your desired state) and second the current state (which is managed by Terraform).
With this information the Core then creates a plan of what resources needs to be created/changed/removed.

  • Provider

The second part of the Architecture are providers. Providers can be IaaS (like AWS, GCP, Azure), PaaS (like Heroku, Kubernetes) or SaaS services (like Cloudflare).
Providers expose resources, which makes it possible to create infrastructure across all this platforms.

Terraform Architecture

Terraform Basic Commands

Terraform has commands to go through different stages:
Terraform Commands

Terraform vs Ansible

One question that comes up always when learning Terraform and which I want to clarify is "what the difference of Terraform and Ansible is". Which is understandable, because they seem to do the same thing. So, I go through the similarities and differences of those two tools.

Explaining concepts behind

I also go one step deeper and explain what the terms and concepts of "infrastructure provisioning", "infrastructure as code" or "declarative vs imperative" mean. 💡

Watch the full video here 🤓

► Get 30% off - with this code: UDEMY_NANA_NOV2020: Udemy course here
► Kubernetes 101: Compact and easy-to-read ebook bundle 🚀
It's a handy way to quickly look something up or refresh your knowledge at work and use it as your cheatsheet 😎

Like, share and follow me 😍 for more content:

Top comments (5)

yellow1912 profile image

Very informative. Thank you for your time.

techtter profile image
nikuamit profile image
Amit Kumar Sahu

Informative. I was looking for something similar.

tuhin75tk profile image
Tuhin Kundu

Very Nicely explained in simple words!

techmarinar profile image

awesome ,thank you♥