Microservices are unix pipes but slower.
AI is linear algebra that costs x1000 because of the brand name.
There is no revolution in software. We are just building crud as high and as fast as we can because the quality of developers tends to zero as the number of developers increases.
Not if you're a 1,000+ engineer org with an SOA.
> Microservices are unix pipes but slower.
Humans are way more expensive than the machines running our code. You can always spend more on spinning up additional instances. In reality the overhead isn't that bad. The principles of immutable stateless deploys free up so much mental energy when it comes to thinking about how to get your code out and not break things that it more than pays for itself.
> AI is linear algebra that costs x1000 because of the brand name.
Tell that to my real time voice conversion system I just wrote. There's a lot of new magic happening right now.
> There is no revolution in software.
I'm on a fucking phone responding from hundreds of miles away. We're launching satellites that beam internet.
> We are just building crud
You can't speak for everyone here.
Are you in adtech or a social spyware company? Maybe don't work like that then.
Find meaningful work that speaks to you.
> quality of developers tends to zero as the number of developers increases.
I work with brilliant people.
That's the problem. With a sane simple architecture instead of 40 years of crap on top of crap you wouldn't need thousands of engineers to spin up instances.
>In reality the overhead isn't that bad.
Over 1e2 times if the solution is in software, over 1e5 times if it's an fpga. Around 1e8 if you do it in silicon. You make the savings from not hiring the 1000s of engineers to deploy your bloated horror.
>The principles of immutable stateless deploys
Has nothing to do with k8s. Nixos and Guix are two systems that are as close to functional as possible and they sure as hell aren't 'stateless', even though they come closer than any of the sexy trending tech.
>Tell that to my real time voice conversion system I just wrote.
Thank you project librevox for proving a near infinite training corpus, thank you nvidia for gpus to do linear algebra 1e5 more efficiently than you can on a cpu.
>I'm on a fucking phone responding from hundreds of miles away. We're launching satellites that beam internet.
Like everything else you listed there this is a hardware improvement. A Casio watch from the 90s had the same order of magnitude computational capability as the first generation IMPs. Good luck getting it connected to the internet using any software you could write for it.
It's all new.
> wouldn't need thousands of engineers to spin up instances
If thousands of engineers had to worry about deploys, that'd be a problem. The deploy team is small. K8S makes this dead simple.
> Over 1e2 times if the solution is in software
That's ridiculous. Where did you get those figures?
> 1e5 times if it's an fpga. Around 1e8 if you do it in silicon
If you're writing code for FGPAs or burning it to silicon, you're far removed from application server development. That would move at a glacial pace.
> bloated horror
Our containers are thin.
> Has nothing to do with k8s.
You're just hating on k8s at this point.
> Like everything else you listed there this is a hardware improvement.
Honestly there's been a metric ton of software improvements. Literally everywhere.
Git, modern kernels, Rust, Paxos (popularized in the 90s), LLVM, modern game engines, tmux, Wikis, bittorrent, blockchain, protobufs, gRPC, Bazel, Redis, modern PL idioms, futures, TOTP, U2F, Markdown, RSS/Atom, so many algorithms, seam carving...
> It's all new.
Now I’m tempted to reply, “No wonder that 1000+ engineers can pile up crap that fast” :)
> Not if you're a 1,000+ engineer org with an SOA.
The fact that most FAANGs (Amazon especially) developed their own systems that are not Kubernetes, and often much simpler, should make you think.
Many don't even use containers - by design.
(Source: direct experience)
These companies had deployment needs that weren't at the time met by off the shelf open source software.
That's not what I wrote.
I wrote that the systems they came up with are much, much less bloated and provide very comparable features - if not better.
I disagree. Maybe it's because we haven't gone "full Kubernetes" where every cronjob is now a Kubernetes cronjob, or what have you, but for all the complexity we've had to overcome, we've seen substantial benefits.
For example, autoscaling instances of my data pipeline apps based on Kafka lag.
Was it complex? Yes. We had to expose Kafka topic lag as a metric to Prometheus, then configure the k8s metrics server that HPAs (Horizontal Pod Autoscalers) use to scale to pull that in from Prometheus using k8s-prometheus-adapter as a custom metric, then set reasonable scaling limits in the data pipeline apps HPAs.
Was it worth it? Fuck yes. We no longer have to worry about data arriving out of time at our data warehouse, because the scaling we've configured (in YAML, god rest its dirty soul) ensures that our data will always arrive at the data warehouse within 5 minutes, which is ideal for a near real time reporting product that greatly enables our end users.
Is Kubernetes worth it? For us, definitely. For anyone else? Really depends on your use case, don't cargo cult this shit.
Where do you work? I'd like to pitch my radical idea of edge consolidated cloud computing.
Yep, we could handle it easily on one machine, if we gave it unfettered access to all the resource, but our throughput varies during the time of day, so dedicating a machine to it to handle the peak throughput wouldn't make financial sense at 3am at night. So it's far simpler to scale pods with known resource usage as needed.
It also helps prevent issues when throughput suddenly doubles because of a business decision that you're left out of the loop on.
So autoscaling pods is ideal for our use case.
Is your aws bill really under $500 a month?
Will see if history repeats itself and we will see be imperative systems.
I was doing "microservices" on QNX using MsgSend/MsgReceive for hard real time over 15 years ago. It doesn't have to suck; the mainstream is just using the wrong tools for doing it fast. The QNX people managed to shoot themselves in the foot by going closed-source -> open source -> closed source -> open source -> closed source, after which their developer community was fed up.
Machine learning is not linear algebra. It's nonlinear. That's what makes it useful.
Not that you're wrong per say, but personally, I think you should take a look at the HN guidelines. Like don't be snarky, and don't post shallow dismissals.
Just categorizing the arguably most popular way of building software as "crap" doesn't seem like thoughtful or curious conversation.
I completely get the hate for modern web, but in this case I think it's unrelated. The whole Kubernetes/microservice world exists basically to serve JSON and similar protocols. Maybe rarely some static HTML.
For HTML->CSS->JS->Webasm stuff it is more fashionable to compile at build time and service as static assets. That's the polar opposite of Kubernetes/microservices.
This doesn’t even make sense because it can be said about anything involving numerical work on a computer and it’s still roughly true. Also because all of the libraries are free anyway.
Sure, but we've learnt to apply linear algebra to achieving things we could only dream of 10 (or even 5) years ago.