> Use Javascript, a true programming language, no more YAML or Domain Specific language.
This appears to be a jab at Terraform but Terraform's declarative language is supposed to be a step forward from ad-hoc provisioning scripts. One of the issues with imperative scripts is you have to be mindful of intermediate state whereas Terraform allows the users to just think about the initial and final state.
I must say that I prefer the declarative nature of terraform, but it's true that in many cases I've spend ages trying to create variables through loops, whereas in a regular programming language it would have taken me minutes. And sometimes I also face things impossible to do.
Seems like a potentially useful tool. Another related approach is https://github.com/GoogleCloudPlatform/terraformer ("reverse Terraform"), which might be better if your end goal is to build Terraform scripts for existing infra.
However I like the idea of using these visualizations to grok or monitor infra; say as a Platform or Security engineering team, you might want to keep an eye on specific classes of resource like storage buckets, load balancers, etc.
A while ago I started using the AWS CDK and never looked back, I can write all the infrastructure code in a real programming language with auto complete and proper IDE support, no more hacky YAML syntax for simple if statements!
Issue with using config for these things is that more complex structures don't scale that well, in code you can do abstractions to make everything easier to reason about.
9 comments
[ 1.8 ms ] story [ 28.3 ms ] threadThis appears to be a jab at Terraform but Terraform's declarative language is supposed to be a step forward from ad-hoc provisioning scripts. One of the issues with imperative scripts is you have to be mindful of intermediate state whereas Terraform allows the users to just think about the initial and final state.
The best config systems I've seen leverage a programatic framework to generate declarative JSON/YAML. Rather than needing to bolt one on top.
However I like the idea of using these visualizations to grok or monitor infra; say as a Platform or Security engineering team, you might want to keep an eye on specific classes of resource like storage buckets, load balancers, etc.
Issue with using config for these things is that more complex structures don't scale that well, in code you can do abstractions to make everything easier to reason about.
https://aws.amazon.com/cdk/
https://github.com/pistazie/cdk-dia