this post was submitted on 26 Dec 2024
171 points (96.2% liked)

Linux

48744 readers
922 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] brie@programming.dev 7 points 2 days ago (1 children)

Thanks, this clears things up. I didn't know what exactly was making print IO slow.

I don't use any complex TUIs. Pretty much everything is CLI or GUI. Which TUIs did you have in mind that were slow?

I'd like to test this soon. I'll look for a modern TUI framework.

[–] FrederikNJS@lemm.ee 1 points 2 days ago (1 children)

On slow terminals k9s can be rather sluggish when scrolling through the lists

[–] brie@programming.dev 1 points 1 day ago (1 children)

Fair. I hate kube though. Most companies run just 10 pods because they cargo cult google. The complexity of it is completely unjustified

[–] FrederikNJS@lemm.ee 1 points 1 day ago (1 children)

The right tool for the right job.

I agree that many small businesses jump to Kube too early. If your entire app is a monolith and maybe a few supplementary services, then Kube is massive overkill.

But many people also tend to overlook all of the other benefits that suddenly become very easy to add when you already have Kube, such as a common way to collect logs and metrics, injecting instrumentation, autoscaling, automated certificate handling, automated DNS management, encrypting internal network traffic, deployment tools that practically works out of the box, and of course immutable declarative deployments.

Of course you can build all of this yourself, when you need it, but once you have the foundation up and running, it becomes quite easy to just add a helm chart and suddenly have a new capability.

In my opinion, when the company it big enough to need a dedicated ops team, then it's big enough to benefit from Kube.

[–] brie@programming.dev 1 points 15 hours ago (1 children)

Something like heroku is better for out of the box stuff like logging and autoscaling. Some companies like banks have to have their own data center. But they should write their own "tools".

Must be fun looking at 10 pods and pretending to be in control of Google search by proxy. Autists have a peculiar way of day dreaming, as they're extremely limited in imagination. They always seek artificial complications to cover up the fact that what they're doing is actually not far from trivial, and without gatekeeping a school kid would be capable of doing.

[–] FrederikNJS@lemm.ee 1 points 14 hours ago* (last edited 14 hours ago) (1 children)

I'm not quite sure what you are getting at... Are you implying that I'm autistic because I only have 10 pods in a Kubernetes cluster?

Presently our clusters run roughly 1400 pods, and at this scale there certainly are benefits to using something like Kubernetes.

If your project is small enough to make sense on Heroku, then that's awesome, but at some point Heroku stops making sense... both for managing at scale, and costs. Heroku already seems to be 2-4x as expensive as AWS on-demand. Presently we're investigating moving out of AWS and into a datacenter, as it seems that we can reduce our costs by at least an order of magnitude.

[–] brie@programming.dev 1 points 14 hours ago (1 children)

No. I didn't mean to attack you in particular in any way. I apologize if it came off as such. I just dislike the blind copying of what Google and Facebook do. Docker is another atrocity that everyone seems to feel obligated to use.

Heroku supports moderately large amounts of requests. It's less expensive than having a proper sysops team in most cases.

With 1,400 it's probably worth it to move away from AWS. Something like self-hosted Triton (descendant of Solaris) cluster would be far more elegant than kube and lxc.

[–] FrederikNJS@lemm.ee 1 points 13 hours ago (1 children)

Apology accepted, and thank you for not name calling.

And yeah, if you can save the ops team salaries by picking Heroku, then it certainly might offset the costs.

When you talk about Triton, do you mean this? Because funnily enough one of their bigger features seems to be that you can run Kubernetes on top of it. It looks pretty cool though, but I must say it was quite hard to find proper info on it.

Triton also seem to push for containerization quite heavily, and especially Docker... So when you talk about Triton are you suggesting to use the Infrastructure Containers or Virtual Machines instead?

[–] brie@programming.dev 1 points 13 hours ago (1 children)

Triton and SmartOS are still Sun Microsystems people. Solaris zones preceded Linux containers by almost a decade. They lost the popularity contest, so they have to provide compatibility with kube and docker. I think infrastructure containers are zones with extra whistles.

For even better performance, I'd go with Xen and Linux unikernel. The startup time can be just 1s with such minimum overhead. It also greatly reduces the attack surface. I highly doubt you'll be allowed for such a drastic change though.

[–] FrederikNJS@lemm.ee 1 points 1 hour ago

My team is constantly looking for new technologies to make sure we're not turning ourselves into dinosaurs. We all know that Kubernetes won't last forever, something better will come along some day.

That being said I don't really see the full value of Triton or Xen with unikernels... They might have a bit less performance overhead if used correctly, but then again Kubernetes on bare metal also has very little overhead.

Kubernetes is certainly comes with a learning curve, and you need to know how to manage it, but once you have Kubernetes there's a ton of nifty benefits that appear due to the thriving community.

Need to autoscale based on some kind of queue? Just install the Keda helm chart

Running in the cloud and want the cluster to autoscale the nodes? Just install cluster-autoscaler helm chart

Want to pick up all of your logs and ship them somewhere? Just install the promtail helm chart

Need a deployment tool? Just install the ArgoCD helm chart

Need your secrets injected from some secret management solution? Just install the external-secrets helm chart

Need to vulnerability scan all the images you are using in your cluster? Just install the trivy-operator helm chart

Need a full monitoring stack? Just install the kube-prometheus-stack helm chart

Need a logging solution? Just install the loki helm chart

Need certificates? Just install the cert-manager helm chart

The true benefit of Kubernetes isn't Kubernetes itself, but all the it's and pieces the community has made to add value to Kubernetes.