4 ms·
Code to generate DSL to call APIs? This is somewhat outdated now, although I wouldn’t have even used it five years ago TBH. Abstraction pile-up.
by vr46 6y ago
Code to generate DSL to call APIs? This is somewhat outdated now, although I wouldn’t have even used it five years ago TBH. Abstraction pile-up.
- busterarm 6y agoI feel like a lot of people are missing the fact that Terraform's value is in being a generic way to interact with a vast number of APIs. But then when I look at things like Pulumi, I'm reminded that software engineers have their hammer and tend to see all problems as nails. That's not a knock on the profession, seeing as I am one, but writing Terraform serves business needs that writing and deploying software does not. It takes a certain amount of maturity across the industry to not tunnel vision and write code to solve every problem.
- vr46 6y agoTerraform is simply fantastic and it looks like it’s finally stabilized.
- erik_seaberg 6y agoTerraform also knows how to orchestrate those API calls in dependency order, update in place when possible or else recreate (reusing the cloud platform’s unique ID from creating each resource), and check for drift (because sometimes people alter the actual cloud resource but not the template file). The problem is that some cloud APIs require a lot of boilerplate params to set up correctly (looking at you, aws_appautoscaling_policy), and HCL’s unit of reuse makes it fairly hard to factor out what our resources have in common and end up with template files clear enough for a reviewer to catch mistakes.
- vr46 6y agoYaar, not everything available in the resource is supported in the cloud API (hello Elasticbeanstalk) but Terraform is still infinitely better to use and work with directly.