Live data from Hacker News

Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

news.ycombinator.com

391–400 of 433 posts

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#391

Earlier quoted context omitted.

kubectl apply on a directory full of yaml works fairly well for small stuff. Check it into git and it's version controlled. If you need something more flexible than that, try making your own helm chart. Helm will give you some text templating, pre and post hooks, some basic functions, and some versioning and rollback functionality. You can start simple by just pasting in your existing k8s yaml, and then just pull out…

kubectl apply on a directory doesn’t work because deleting a resource manifest won’t delete the corresponding resources.

It does work, as long as you’re not deleting anything. :) That might be good enough for a “very small kube cluster for my hobby project”

I only use ‘kubectl apply’ for small stuff where I only have a couple resources. Anything more complicated and a tool like helm is much more useful.

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#393
Kubernetes isn't a solution. It just pushes the problem down the line. Fundamental problem is most software developed these days aren't packaged properly. The devs just ship the code to production. The hacks that they used to get the development going stays in production.

For example, you don't need a docker container to deploy Mysql, although you can deploy Mysql inside one. But most development processors are so badly managed that one product has many conflicting libraries and dependencies. Eventual requiring each component to be isolated within its own container. Finally leading to an unmanageable number of containers requiring Kubernetes to manage the mess.

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#394
post #385

Earlier quoted context omitted.

kubectl apply on a directory doesn’t work because deleting a resource manifest won’t delete the corresponding resources.

'kubectl delete -f dir/' will delete all resources in the directory.

Right, but the only resource you want to delete is no longer in that directory, so you’ve now deleted every resource you except the one you actually wanted to delete. :)

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#395

Earlier quoted context omitted.

Yeah, my point is that whether you're changing a manifest and doing an apply versus a patch isn't relevant, the relevant bit is whether or not you have a version history and in both cases you do via your CD pipeline and via k8s deployment revision history. You can also commit to git, but I don't think there's much value in committing every image version change to git. Also, working in raw manifests isn't a panacea; i…

I agree with your points, but as I mentioned in another comment, if we take "imperative" and "declarative" as proxy terms for "I do or do not have a reference to the state I requested of the cluster OUTSIDE of the cluster"; my point is that updating the state, in full, by modifying the manifests and committing them to be deployed by your CD pipeline or otherwise is a better approach to ensuring you or someone else ca…

I think you’re assuming that just because we’re updating the image via kubectl (which itself is invoked via CD pipeline) that the infrastructure isn’t codified and persisted, which isn’t the case. You can (and should) still have your infrastructure manifests saved in your infra repo/directory and version controlled; that’s orthogonal to how you update the current image version.

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#396

High Availability, Scalability, Deployments, etc are NOT the goal of Kubernetes, they are features that are not exclusive to Kubernetes, nor is Kubernetes necessarily better at them then others. The goal of Kubernetes is to improve the portability of people by introducing abstraction layers at the infrastructure layer - These abstractions can seem overly complex, but they are essential to meet the needs of all users…

> these steps would rarely be same between companies or even between different teams in the same company.

And the quality can differ a lot too. I used to think that k8s is not necessary, since our team has mastered both stateless and stateful app deployment on VM, with ansible calling aws/gcp API. Everything just works.

And then I joined another company, which has a hotchpotch of unorthodox terraform and ansible code and a homebrew service discovery layer, with frequent incidents in the early mornings, especially on weekends, when autoscaling of aws/gcp VM would fail due to a myriad of reasons.

With k8s, there is a minimum quality.

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#397
post #291

Earlier quoted context omitted.

The major point is that "mechanical sympathy" for how to operate software should be considered early in the development cycle. Fulfilling the business goals in operation should be a major design consideration that might warrant trade offs in other areas. Traditionally, this has been seen as more of an afterthought and DevOps solution to the problem is that involving the people who design and maintain software in its…

Generalization: - each role in a company tries to optimize/nudge whole organization toward this role's convenience. - specialization improves local optimum (advances certain role) at the cost of global optimum (everybody has to dance around new roles processes) - joining seceral roles into one, creates the oposite result, optimum is searched at more global level (not necessarily found) - Separation of responsibilitie…

I agree in general. Extreme example I've witnessed ~8 years ago: dev team is building linux server. Dev team is not allowed to touch production. Server is deployed via scp by ops team. Ops team is on the other side of the planet and generally pretty unknowledgeable. Dev team is deploying by creating a ticket and literally telling ops team what to type in terminal. Ops team fails at copy/pasting instructions. Deployments fail, dev team has to fix things by telling ops team what to type over the phone.

Lesson learned: kubernetes isn't that bad

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#398
post #300
post #276

Earlier quoted context omitted.

We don't have an issue with that last point, lots of EC2 EKS nodes and they don't fail randomly. Were you using resources and limits correctly? EKS nodes can fall over randomly if you don't reserve resources on the nodes for system processes, and your workloads eat up all the resources. That's probably not well documented either.

EC2 instances are inherently unreliable and that's not a knock on them, that's exactly the contract that you get using them and you're supposed to plan your architecture around the fact that at any moment an EC2 instance could die. We lose about 2-3 EC2 nodes per day (not like our app stops, like Amazon's own instance health goes red) and we couldn't care less.

What percentage of EC2 nodes is that?

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#399
The perception of a "need for so much dev ops nowadays" stems, in my view, from a skills mismatch in the market.

Division of labor and specialization are two natural results of any rapidly evolving industry. The tech industry is no exception. The problem is that there are currently comparatively quite a lot of ways to learn the skills necessary to become a competent web developer, backend engineer, data scientist, etc. Compared to these titles, the ways to learn the skills involved in designing, operating, and maintaining scalable cloud infrastructure have not kept up with market demand.

Kubernetes is not "the" solution, but it is one of several solutions to the problem of standardizing a trade skill for the purposes of making it transferrable. Nobody wants to go to work at a place where the skills they need to do their job well are both difficult to acquire and completely useless once they get a new job.

Re: Ask HN: If Kubernetes is the solution, why are there so many DevOps jobs?

#400
post #38

Earlier quoted context omitted.

Asking as someone who has only tipped his toes into devops lately and is looking to learn K8, what is considered a reasonable "lightweight" alternative to Kubernetes these days?

If you are on AWS you should check out ECS Fargate (serverless). It is really really good. Probably one of their more polished products. If you want to stay on the Kubernetes route check out k3s. Super easy to setup and usable for small production workloads

How does k3s compare with MicroK8s, for the purpose of this topic?
Post reply on HN