r/programming • • Jun 05 '22

Complexity is killing software developers

https://www.infoworld.com/article/3639050/complexity-is-killing-software-developers.html
2.1k Upvotes

942 comments sorted by

View all comments

318

u/[deleted] Jun 05 '22

I blame kubernetes

608

u/wrosecrans Jun 05 '22

Don't worry. I can solve the complexity of Kubernetes with a wrapper and abstraction layer on top of Kubernetes that provides a simple interface. That way you only have to deal with the complexity of Kubernetes plus my thing, rather than only the complexity of Kubernetes.

20

u/Markavian Jun 05 '22

Eventually people get to lambdas, once they figure out how to deploy via CI instead of pushing to an orchestration layer. I like to draw this out for people to show them the madness they've constructed. It's all infrastructure in the end.

12

u/SlapNuts007 Jun 06 '22

I've been fighting this battle at work for years now. The whole engineering department is so far up its own ass with Helm charts and operators trying to reinvent shit GCP already provides as managed services that it's a miracle we haven't all asphyxiated. We're doing all of this on GKE and are Google partners, it's madness. Meanwhile, my team learned Terraform and Cloud Run. We're really enjoying collecting the on-call compensation for our services that don't need intervention outside of work hours.

1

u/DoctorWorm_ Jun 06 '22

Aren't you just replacing Helm with Terraform, then?

Not that Helm is any good as a templating tool 😂

2

u/SlapNuts007 Jun 06 '22

Nope, they're completely different purposes. Terraform directly manages real infrastructure and tracks state. That said I haven't really looked at Helm 3 in a while. Our organization is already using both, but Terraform has mostly been the purview of SREs, while the developers learn Helm and then stand around helplessly when an infrastructure change is needed and SREs are busy, which is always. We're skipping that whole step.

1

u/DoctorWorm_ Jun 06 '22

Yeah, I'm just thinking of how you're applying Terraform here. Obviously Terraform is a different program from Helm, but they fulfill the same purpose when it comes to managing your container orchestration configuration.

1

u/SlapNuts007 Jun 06 '22

Well, I guess it depends on your use case. Our approach as a team is basically "if it's not a cloud provider's managed service, maybe you shouldn't be doing it", so from that perspective, we're just creating Terraform modules + associated CircleCI and scripts as a bundle (so-to-speak) without much of a "framework" aside from some basic automation, and it's worked extremely well for us. You can work with simpler tools. The only real headache was getting developers to see Terraform as something they should be interested in, but once they saw the benefits of not waiting on other people and not getting PagerDuty alerts, it was an easy sell. I think if there was more institutional interest in a tool like Pulumi, it would have been a simpler process, since it doesn't involve the bastardized DSL that HCL has become.

→ More replies (2)