Live data from Hacker News

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

news.ycombinator.com

81–90 of 433 posts

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

#81
post #9

A few thoughts... 1) Kubernetes is an infra platform for the ops in DevOps. If developers need to spend a lot of time doing Kubernetes it takes away from their ability/time to do their dev. So, there are a lot of platform teams who pull together tools to simplify the experience for devs or DevOps specialists who handle operating the workloads. 2) Kuberentes is, as Kelsey Hightower puts it, a platform to build platfor…

I've said it before, and I'll say it again: Kubernetes is hard, huge, complex because it solves hard, huge, complex problems. Or tries to anyway.

The corollary of course is that if you don't currently have hard, huge, complex scalability problems, well, you do now...

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

#82

The premise of your question is invalid. Have you ever tried setting up a Kubernetes cluster and deploying apps in it? Kubernetes doesn't save work, it adds work. In return, you get a lot of benefits, but it wasn't designed to reduce human work, nor was it designed to eliminate devops jobs. It was designed for scalability and availability more than anything. Most people using Kubernetes should be using something simp…

I don't know my dude, all 3 major clouds offer "canned" k8s services that you can set up in a ridiculously short amount of time with Terraform and your CI platform of choice.

I agree with some other comments in this thread about a general fervor in the Enterprise space to "modernize" needlessly. This conversation usually lands on the company copying what everyone else is doing or what Gartner tells them to do. Cue "DevOps".

100 percent agree with your comments on something simpler. I can't tell you how many times I've debated with our Analytics teams to just use Docker Compose/Swarm.

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

#83
The DevOps jobs are to configure and maintain Kubernetes. The problem is K8S is a general-purpose solution that's being used for managing an application comprised of container images. It's way overcomplicated for that task, but that's already been noted here in this thread. I know of proprietary solutions that greatly simplify DevOps compared to K8S, but they're proprietary.

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

#84
post #38

Kubernetes is a Google scale solution. Lots of teams said “hey if Google does it then it must be good!”…but forgot that they didn’t have the scale. It caught on so much that for whatever reason it’s now the horrendous default. I’ve worked on at least 3 consulting projects that incorporated K8s and it slowed everything down and took way too much time, and we got nothing in return - because those projects only needed s…

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?

> what is considered a reasonable "lightweight" alternative to Kubernetes these days

Before I used Kubernetes for my side projects and only at work I always thought it's hard to operate and very tricky. If you start with an empty "default" cluster and then just add bits when you need them it's actually not that complicated and doesn't feel too heavyweight. I'd suggest to just play around with a simple example and then see how it goes.

There's things that are used in "production" clusters that you don't need at the beginning, like rbac rules, Prometheus annotations etc.

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

#85

The premise of your question is invalid. Have you ever tried setting up a Kubernetes cluster and deploying apps in it? Kubernetes doesn't save work, it adds work. In return, you get a lot of benefits, but it wasn't designed to reduce human work, nor was it designed to eliminate devops jobs. It was designed for scalability and availability more than anything. Most people using Kubernetes should be using something simp…

It does save work, consider what you would have to do to provide those benefits without a tool. You would have to monitor usage and spin up new instances manually for scalability. You would have to manually update instances when updates came out. You would have to manually handle failover and stand by instances for availability. Manually configure load balancers. etc. Kubernetes is a great tool if you have scaling ma…

That's an interesting second-order effect right? Before Kubernetes et al, it was so much work or so complex that few companies implemented those things. Kubernetes saves so much work, that now everyone is doing it and it feels like more work.

"Things" here mean different things for different people. For me, it's secrets/certs, better rolling deploys and infra as code.

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

#86

The premise of your question is invalid. Have you ever tried setting up a Kubernetes cluster and deploying apps in it? Kubernetes doesn't save work, it adds work. In return, you get a lot of benefits, but it wasn't designed to reduce human work, nor was it designed to eliminate devops jobs. It was designed for scalability and availability more than anything. Most people using Kubernetes should be using something simp…

I mean, obviously it was designed to reduce human work. A tool that adds work wouldn't be very useful, would it?

A tool or technology that adds work is extremely useful.

More work means

- more employees needed

- more direct reports for managers

- more jobs for x technology

- more people learning x technology because of those jobs

- more StackOverflow questions for x

- more companies using x technology because it's "easy to hire for"

- more money to be made in teaching x

- more learning material for x

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

#87

The premise of your question is invalid. Have you ever tried setting up a Kubernetes cluster and deploying apps in it? Kubernetes doesn't save work, it adds work. In return, you get a lot of benefits, but it wasn't designed to reduce human work, nor was it designed to eliminate devops jobs. It was designed for scalability and availability more than anything. Most people using Kubernetes should be using something simp…

The amount of benefits you receive is less than if you worked for the same benefits sans kubernetes. So it definitely saves a ton of work, but your latter point still stands that most of the time the benefits aren't always as... beneficial to some stages of development/scale so it's actually just adding work for the sake of it.

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

#88
DevOps isn't a job. DevOps is a system to work with people directly and find out what they need and give them things that enable them to get their job done faster, while also getting enough information to make sure the product stays online and reliable. What people call "a DevOps role" today is just sysadmin or sysop or syseng or SRE.

Back in the day we cobbled together solutions out of different parts because it gave us a strategic advantage over monolithic commercial solutions. It was cheaper, but it was also easy to customize and fit to product & user needs. Yes configuration management was a nightmare, and it came back from the dead as Terraform, because instead of an OS with mutable state we now have a Cloud with mutable state. Docker and Packer and a few other solutions have fixed a lot of the mutable state issues, but databases are still flawed and SaaS is still just a mucky mess of unversioned mutable state and nonstandard uncomposeable poorly documented APIs.

With Kubernetes, we're back in the land of commercial monolithic products. Technically you can build it yourself and customize it all, but it's expensive and time consuming and difficult because of how many components there are tied together. It "gives you everything you need" the way the International Space Station does. Do you need a space station, or a barn?

People get so wrapped up in terminology. Declarative doesn't mean anything other than "not procedural"; it's not better than procedural, it's just different. Plenty of declarative things are a tire fire. Infrastructure as Code just means "there is some code that is committed to git that can manage my servers". A shell script calling AWS CLI is IaC. Doesn't make it a good solution.

You can't just install a piece of software and be done. That's the entire point of the DevOps movement, really. It's not about what you use, it's all about how you use it. Work with humans to figure out what will work for your specific situation. Use your brain. Don't just install some software because it's trendy and hope it will fix all your problems.

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

#89
post #39

Earlier quoted context omitted.

Still need to maintain the cluster though, and boy does it require some fun maintenance. Kubernetes is more than just a distributed docker image scheduler, you also need to install and maintain basic dependencies like the pod networking implementation (a whole virtual IP space!!), DNS, loadbalancing, persistent volumes, monitoring, etc etc. Maybe your cloud provider sets it all up for you, but you're not going to esc…

> the pod networking implementation (a whole virtual IP space!!) That part, at least, can be made simple: https://john-millikin.com/stateless-kubernetes-overlay-netwo... > DNS, loadbalancing, persistent volumes, monitoring, etc etc None of that is part of Kubernetes, and you'll need it (or not) regardless of how you choose to handle process scheduling. There's a sort of common idea that a "Kubernetes cluster" is an e…

> None of that is part of Kubernetes

Well, load balancing is part of Kubernetes (except that it does not provide a sane implementation), and tbh having to debug strange failures caused by seemingly-innocent Service configuration is my least-favorite part of Kubernetes.

I agree with you on other points.

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

#90

Kubernetes is a Google scale solution. Lots of teams said “hey if Google does it then it must be good!”…but forgot that they didn’t have the scale. It caught on so much that for whatever reason it’s now the horrendous default. I’ve worked on at least 3 consulting projects that incorporated K8s and it slowed everything down and took way too much time, and we got nothing in return - because those projects only needed s…

Kubernetes can't (currently) scale to Google sizes. It's designed for small- or medium-sized businesses, which might have 50,000 VMs or fewer. There are entire SaaS industries that could fit into a single Google/Facebook/Amazon datacenter.

> There are entire SaaS industries that could fit into a single Google/Facebook/Amazon datacenter.

Forget a whole datacenter, even just one rack is an unimaginable amount of computing power, these days!

Post reply on HN