5 ms·
It's designed to be a declarative DSL, but then you have to do all sorts of filters and maps in any group of resources and suddenly you are programming in yaml
by gchamonlive 1y ago
It's designed to be a declarative DSL, but then you have to do all sorts of filters and maps in any group of resources and suddenly you are programming in yaml with both hands tied behind your back
- gigatexal 1y agoYeah it’s just terrible. If Amazon knew what was good they’d just replace it with almost anything else. Heck just got all in on terraform and call it a day.
- deleted 1y ago[deleted]
- stogot 1y agoIsn’t that what CDK was for?
- mdaniel 1y agoThis may be heresy in an AWS thread, but as a concept Bicep actually isn't terrible: https://github.com/Azure/bicep/blob/v0.37.4/src/Bicep.Cli.E2eTests/src/examples/101/aks.prod/main.bicep https://github.com/Azure/bicep/blob/v0.37.4/src/Bicep.Cli.E2... It does compile down to Azure Resource Manager's json DSL, so in that way close to Troposphere I guess, only both sides are official and not just some rando project that happens to emit yaml/json The implementation, of course, is ... very Azure, so I don't mean to praise using it, merely that it's a better idea than rawdogging json
- hnlmorg 1y agoI’ve heard so many bad things about bicep on Azure that I’m not convinced it’s an upgrade over TF. The syntax does look nicer but sadly that’s just a superficial improvement.
- mdaniel 1y agoAs for "go all in on terraform," I pray to all that is holy every night that terraform rots in the hell that spawned it. And that's not even getting into the rug pull parts, I mean the very idea of 1. I need a goddamn CLI to run it (versus giving someone a URL they can load in their tenant and have running resources afterward) 1. the goddamn CLI mandates live cloud credentials, but then stright-up never uses them to check a goddamn thing it intends to do to my cloud control plane You may say "running 'plan' does" and I can offer 50+ examples clearly demonstrating that it does not catch the most facepalm of bugs 1. related to that, having a state file that believes it knows what exists in the world is just ludicrous and pain made manifest 1. a tool that thinks nuking things is an appropriate fix ... whew. Although I guess in our new LLM world, saying such things makes me the old person who should get onboard the "nothing matters" train and the language is a dumpster, imho
- SvenL 1y agoAmen, and I would add to that list “no, just because you use terraform doesn’t mean you can simply switch between cloud providers”.
- hnlmorg 1y agoIs there any IaC solutions where you can “simply switch between cloud providers”? This isn’t a limitation of TF, it’s an intended consequence of cloud vendor lock in
- mdaniel 1y agoI believe the usual uninformed thinking is "terraform exists outside of AWS, so I can move off of AWS" versus "we have used CF or Bicep, now we're stuck" kind of deal Which is to say both of you are correct, but OP was highlighting the improper expectations of "if we write in TF, sure it sucks balls but we can then just pivot to $other_cloud" not realizing it's untrue and now you've used a rusty paintbrush as a screwdriver
- hnlmorg 1y ago
- hnlmorg 1y agoThey do contribute to the AWS provider for Terraform. Also that have CDK which is a framework for writing IaC in Java/TypeScript, Go, Python, etc.
- gigatexal 1y agoMeh. The CDK doesn’t look terrible. It’s still not ideal. But even if this compiles to a mess of CF it’s still better than writing CF by hand and that’s only because CF is so bad to begin with. https://dev.to/kelvinskell/getting-started-with-aws-cdk-in-python-a-comprehensive-and-easy-to-follow-guide-2k44 https://dev.to/kelvinskell/getting-started-with-aws-cdk-in-p...