3 ms·
You are on the right track. I have exactly the same story, data engineer, working on automation a lot. YAML, JSON and HCL should be purged from IaC asap. Lucki
by StreamBright 5y ago
You are on the right track. I have exactly the same story, data engineer, working on automation a lot.
YAML, JSON and HCL should be purged from IaC asap. Luckily Dhall can be integrated everywhere we need YAML otherwise we would go nuts. The bigges failure of k8s is to understand that YAML does not scale to teams and beyond 100 lines, especially not good to nest it (hello ArgoCD).
A type safe not accidentally Turing complete configuration language or for that matter any langue (hello Pulumi) is much better than YAML ever will be.
Anyways, if I can give you an advise, drop k8s like its hot. I is much more trouble than worth. We have phased it out everywhere we could. The companies still using it are in 1 year long implementation cycles with it with 10+ consultants. It is going very well. For consultants, obviously.
https://dhall-lang.org/ https://dhall-lang.org/
- manish_gill 5y agoDhall looks interesting. Thanks! I went into the rabbithole of terraform/HCL and came up with Terragrunt to do dynamic code generation. Combining it together with generous use of `make` keeps me sane, but it's not a long term solution. Even now, there are things within the system where the boundaries should be separate, but they aren't. We literally got exhausted and burned out writing our automation, and decided to leave it as it is and then slowly build it up over the next few months. :/ PS: You're 100% right re K8s/YAML. It feels like everything in the Kubernetes world is optimized for writing the code just once. Which, of course, is easy if you already know how all the various bits fit together (true in any system). But Reading/Debugging kubernetes world is a dreadful experience. Edit: typo
- StreamBright 5y ago> But Reading/Debugging kubernetes world is a dreadful experience. Exactly. It is abstraction, over abstraction, over abstraction for no obvious benefits.
- jjtheblunt 5y ago"turning complete" : typo?
- StreamBright 5y agoYes, thanks.
- thamer 5y agoDhall or other typed languages like Cue definitely help a lot. It seems to me that the only acceptable amount of YAML you could have in deployment config is for a setup small enough that it doesn't warrant using Kubernetes, so any use case where Kubernetes is a good fit quickly becomes a major pain to maintain. That said, you wrote: > drop k8s like its hot [...] We have phased it out everywhere we could. Could you elaborate on what you've replaced Kubernetes with, and for what kind of deployment?
- StreamBright 5y agoAWS Lambda, EC2, Nomad, depending on the usecase.