Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is it still worth learning Kubernetes in 2023?
21 points by sabman on Jan 1, 2023 | hide | past | favorite | 13 comments



Disclaimer - been working on K8s in different capacities since 2017, so there’s definitely a lot of bias.

My take - Kubernetes isn’t perfect. It’s got a lot of moving parts, a lot of complexity. My work involves managing SRE for almost a hundred clusters daily, where clusters are running across different clouds with different levels of customisation. I’ll say this - K8s is to cloud native infrastructure engineering what ODBC was for databases 20 years ago. A consistent base standard for running workloads across public, private and hybrid clouds, without worrying _too much_ about how those apps will actually utilise the underlying infrastructure. I’ve worked on Docker Swarm, Rancher 1.0, Mesos, Nomad - nothing comes close.

Sure things may evolve and maybe in a decade we _may_ see a new standard, perhaps a new platform. But I don’t really see that happening. K8s is here to stay, and it’s now at a point where it’s stable and mature from a reliability standpoint; it just needs people like us to worry and fret about making it more accessible.


My take - Kubernetes isn’t perfect

Good to know. When I ask if a technology is worth leanring, I always assume it's perfect. I was also relieved to discover a new platform might but also might not surface to overtake K8s.


Keeping the complexity aside - which is always a decent motivator for new platforms - I feel a significant amount of technical and financial investment has been made in Kubernetes over the last few years. So when a community like the CNCF comes together and says okay, where do we go from here, I don’t think anybody says let’s ditch all we’ve done so far for a new platform that may never happen. Their focus ends up trying to either extend what we have already - which, let’s be fair, does actually work - or they look for ways to make using Kubernetes slightly easier.


You’re conflating connotation with denotation ;-)

Saying “it isn’t perfect” usually means something has fairly fundamental flaws that make it uncomfortable to use; and can simultaneously imply that it’s among the best we’ve got.

Almost certainly something will replace it or make it far more reliable, understandable, and ergonomic over time.


imply that it’s among the best we’ve got.

If this and GP's response are inception-level sarcasm, then I'm outclassed.

My initial reaction to GP was intended to cast a light on its vacuousness, what with all the hedging and credentialling.


I’m sorry you found my earlier response vacuous. The point I was trying to make is that K8s is the best shot we have, and I wanted to underline the possible bias I may have. I’m sure someone must have found what I said worth their time, just as someone won’t.


Any go-to k8 tools that you consider important for most deployments?


Not a big fan of tools like kops or even eksctl - sure they’re good for creating cookie cutter clusters, but I prefer using Terraform for cluster orchestration. Apart from that, k9s is a terrific tool for managing clusters instead of kubectl. Apart from that - a Grafana installation locally on my Mac with preloaded dashboards, and all I need to do is port forward to Prometheus, in order to view monitoring data easily.


Whether or not Kubernetes is a good fit for your needs depends on your goals. In general, it is an excellent platform to use for building and running microservices at a large scale within an organization. It is especially well-suited for cloud-native applications that need to be highly scalable. However, if you are only planning to operate a small-scale application, it may be more than you need. Even so, it is still worth learning about and considering for future projects.

Some benefits:

- Automated deployment and scaling: Kubernetes can automate the deployment, scaling, and management of containerized applications, saving you time and effort.

- High availability: The platform is designed to be highly fault-tolerant, so your application can continue to run even if one of your nodes goes down.

- Extensibility: Kubernetes is highly extensible, with a wide range of add-ons and plugins available to customize the platform to your specific needs. Kubernetes has a large and active community, with frequent updates and a wealth of documentation and resources available. This makes it easier to get started with the platform and get help if you need it.

- Portability: Kubernetes is cloud-agnostic, meaning it can run on any cloud provider or on-premises infrastructure. This makes it easier to migrate your applications between different environments.


It would be helpful to understand from you: as opposed to what?

Kubernetes continues to be the de-facto leader in cloud native cluster management, so if you don’t use it what would you do instead?


It depends on what you are trying to do. If you goal is to host some hello world apps, you shouldn't even think about it. But if you are going to build micro services that scale, k8s should be one of the choices. Anywhere in between? There are most likely better options.


Well, is there any alternative?


Yes




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: