Terraform simply explained - What it is, why it's useful and how it works
With the below Terraform Tutorial 🎬 you'll get a good overview of what Terraform is, how Terraform works, and 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 the services that run on that platform. It's open source and declarative, which means you define WHAT you want (the desired "end state") rather than 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 provisioning new infrastructure and for 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:
How Terraform works? Terraforms Architecture
Terraform has 2 main components:
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 need to be created/changed/removed.
The second part of the Architecture is 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 these platforms.
Terraform Basic Commands
Terraform has commands to go through different stages:
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." This is understandable because they seem to do the same thing. So, I go through the similarities and differences between those two tools.
Watch the full video here. 🤓
You can learn more about Kubernetes and other DevOps technologies on my Youtube channel 👏
Like, share and follow me 😍 for more content: