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:
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.
On the one hand Terraform is used for creating or provision 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:
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 needs to be created/changed/removed.
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.
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.
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 🤓
Like, share and follow me 😍 for more content: