3 ms·
If you have application developers that can't grok what a deployment is and what a service is, fire them. Just fire them. The "run a container" part of k8s is
by linuxftw 4y ago
If you have application developers that can't grok what a deployment is and what a service is, fire them. Just fire them. The "run a container" part of k8s is a solved problem that we never need to revisit. There are much more interesting areas to tease apart, like networking and service mesh, and there's some room for idiot proofing those for developers (OpenShift has some nice tooling in this area, among others).
- jackblemming 4y agoAre you aware at some point in your career you didn't know what those things were either?
- diarrhea 4y agoPerhaps they were fired for it and hold some fetishised, eternal grudge.
- ehutch79 4y agogrok means 'to come to understand' as in to learn. So if your developers can't learn this stuff...
- alex_sf 4y agoAt some point we also didn't know what a terminal was, how to type, or how to read. That doesn't mean they aren't baseline expectations for a software developer.
- rabuse 4y agoI'd bet most developers on this planet have no idea how to maintain and operate Kubernetes.
- deathanatos 4y agoNobody's asking them to. A Deployment, a CronJob, a Secret, etc.: those are the interfaces with Kubernetes. By extension, it is the interface with which you interact with the service (a cluster of machines) that your infra team maintains. (And they are the ones that need to understand how to maintain & operate Kubernetes.) App devs need to learn the structure of those YAML interfaces. They are incredibly well documented, both in reference material and in example material. And yet I find the same as the people above you in this thread: app eng have an absolute aversion to wanting to specify, in programmatic form, how to run their app. Yet, by definition, they're the only ones that know how to do that. (That said, I have been known to reverse engineer applications enough to understand how they intend to be run, and then write the corresponding k8s YAML. This is an organizational anti-pattern, though.) The YAML isn't complicated. What's complicated is that the set of data that comprises a process is inherently complicated: what user does it run as? what files does it need? what command to execute it? what env vars? etc. k8s's YAML does rather little abstracting over these. (I sort of disagree with the "fire them" — rather, you need to ensure your onboarding trains them. But a lot of employers these days seem to do zip for training.)
- gtirloni 4y ago> Nobody's asking them to. They might very soon. https://archive.ph/YWp4O https://archive.ph/YWp4O
- anotherhue 4y agoWhat the actual problem is, in my considerable experience building teams that encountered this problem, is that they lack basic understanding of OS concepts. K8s includes a lot of Unix. If you don't know what a user or perm is, or a mount point, you just blame k8s.
- linuxftw 4y agoHow are the developers writing Dockerfiles if they don't understand them? A deployment is a declarative way to run a (group of) container(s). There is no extra abstraction required of the developers in the trivial usecase which is what the article is suggesting is too difficult.
- morelisp 4y ago> A deployment is a declarative way to run a (group of) container(s). There is no extra abstraction required of the developers You have skipped over the Pod and ReplicaSet abstractions, and the Pod part is definitely not ignorable even in the most trivial case. The container part is probably more ignorable than the pod part, since pods are what actually gets exposed for most operations.
- lisasays 4y agoIf you have application developers that can't grok what a deployment is and what a service is, fire them. Just fire them. No - fire their managers, and their managers as needed. By definition, that's where the responsibility lies. Not with the leaf-node developers. Who are doing exactly as they've been trained and/or vetted by their managers.
- rrgok 4y agoThis is exactly the attitude that I've been complaining in other threads in HN. What else should the application developer know? How to fill taxes for the company? I hope the people who manage your k8s infrastructure know how to develop the application they are deploying. If not, just fire your k8s teams. You cannot became k8s person without knowing how to develop the application, there are more interesting areas... That sounds dumb, isn't it?
- linuxftw 4y agoWriting a k8s deployment is like writing fizzbuzz. If your k8s team can't write fizzbuzz, yes, fire them.