You like deploying infrastructure, probably in a cloud environment, but you don’t want to push a bunch of buttons in their web interface, so you use Terraform to declaratively define the things you want, and it goes and builds them for you. Super useful for when you need to build resources often, to detect and correct config drift, and get started down the path of Infrastructure as Code.
In the past you would stand up and hand-configure all of the hardware that would run your software. This is a way to define the hardware configuration in software and apply it automatically. Advantages of this approach include increased scalability, reproducibility, and being able to use version control.
Plus, it is idempotent, which means you don’t have to change it before pushing it to an existing infrastructure. If you do change it, the infrastructure will be updated to match. It ends the need for custom deployment scripts.
There’s plenty of responses which are probably more thorough than I am, however, as I understand it as a PM dealing with cloud migrations:
Terraform is scripts of code which automates the deployment cloud platforms, applications, services so that you don’t need to manually set up and configure everything each time.
I googled but I can’t understand what’s terraform, can someone eli5?
You like deploying infrastructure, probably in a cloud environment, but you don’t want to push a bunch of buttons in their web interface, so you use Terraform to declaratively define the things you want, and it goes and builds them for you. Super useful for when you need to build resources often, to detect and correct config drift, and get started down the path of Infrastructure as Code.
Yeah it works super well if you have a base config across all nodes then you want to create per project configs and spin them off your build system.
I don’t use it or cloud stuff.
But it looks like it’s a tool to make it easier to manage how you put all the different pieces of cloud hosting together.
Infrastructure as Code
In the past you would stand up and hand-configure all of the hardware that would run your software. This is a way to define the hardware configuration in software and apply it automatically. Advantages of this approach include increased scalability, reproducibility, and being able to use version control.
Plus, it is idempotent, which means you don’t have to change it before pushing it to an existing infrastructure. If you do change it, the infrastructure will be updated to match. It ends the need for custom deployment scripts.
There’s plenty of responses which are probably more thorough than I am, however, as I understand it as a PM dealing with cloud migrations:
Terraform is scripts of code which automates the deployment cloud platforms, applications, services so that you don’t need to manually set up and configure everything each time.