Hacker News new | ask | show | jobs
by verisimilitudes 1340 days ago
I don't use k8s or whatever garbage gets thrown around nowadays.

I well remember my disgust when I learned AWS was just using UNIX virtual machines or whatever, rather than something simple, such as allowing people to run little functions floating in the void. I know nothing about AWS, but I've not been mistaken, right?

5 comments

Lambda has been a thing since 2014 and more and more of it are “serverless” as the years go by.

EC2 was a necessary step and though and even that bought things like per second billing, autoscaling and infrastructure as code to the masses.

Well AWS has been quite clever, using both Xen originally and also now KVM VMs, but everything else is based on that yeah. But that's gotten really complex over the years. They now use a container execution environment called firecracker or something that is open sourced and might be totally separate from their virtualized environment - or at least on top of it where they do let you just run little jams. Cloud isn't bad, I just mean you do have to transfer octets somehow from exec to exec. There are more and less efficient ways of doing it, and also more and less secure ways too - and abstract ways. Not all bad.
Think the point is that as I am writing software, I don’t care about any of that. I expected an opinionated environment when I first heard the word cloud 2 or so decades ago; I wanted to put my code in cvs (git now) and that’s it; I don’t want to think of anything outside that. Especially security or scaling.

I ran 1000s of physical Linux servers over the decades using chroots when it was not fashionable to have containers yet with db clusters because I don’t want my laptop to be different than my servers and I don’t want to think or worry about scaling.

We have aws Lambda now, but it is too expensive and, for me, not trivial enough. It actually requires too much thinking (architecting) to make something complex with it and a lot of that is about money; you can stumble into bills that require at least a kidney to settle.

So I still run my own servers, these days with openfaas. With many scripts, it is almost painless and costs almost nothing (we provide for millions of users for a less than 200$ a month in total). But it still is not the dream: I still cannot just forget about everything hosting and abstractions still leak enough but at least I don’t spend more than a few hours a year on it and I don’t go bankrupt like can happen with Lambda.

We are building our own language and runtime (lisp like with types) to fix this: after 40 years of programming, I am pretty much fed up with having computing power and loving programming but having to deal with all this pointless (for programmers!) stuff around it: we went backwards, at least somewhat.

Interesting to hear people who use OpenFaas. Seems you are happy with it? Any big problems?
I like it for many reasons, but especially the helpful community, founder and everything just works. We use it with Istio at the moment. We switched from Cockroach (did not like the license and we had a few perf issues) to Yugabyte en Scylla recently for micro service and Monolith scaling to use with openfaas and it is really scaling to anything we need. Of course different situations have different needs, but this works very well for us.
well, when I first saw a aws prompt in 2006 or so, I was relief that EC2 was a plain debian-like machine.

Also I was saving me a phone call with Dell and a sunday evening configuring some hardware.

No new bullshit paradigm to learn, I could shove my code in there with tool I knew and call it a day.

EC2 was a stepping stone and it worked well to get some stuff in the cloud.

Remember the early days when only non-critical, non-PII stuff were in the cloud? And how some companies "just can't use it because of X" ( or worse the dreaded Y )

Little functions in the void suck, because the void is crazy complicated and has all kinds of things you have to think about
In the end, almost everything runs on some kind of OS. All those little functions in the void also have to run in an OS, but this is abstracted away from the user.
Congratulations on understanding what an abstraction is. Do I need to worry about the transistors or individual atoms in a computer? Why should UNIX be the right level of abstraction forever?
I didn't write to explain what an abstraction is, and I will assume you honestly meant to congratulate me instead of trying to be sarcastic. Thank you for that.

I have had two types of developers in my teams: one type that understands the underlying technology of the abstractions that they are using, and one type that only understands the layer/abstraction they are interacting with and blissfully clueless about anything underneath.

Neither group worries about transistors or proton decay in their hardware, and both can make 'things'. However, one group is much more capable of effectively building tools and understanding issues when something goes wrong in the chain, whereas the other group is regularly hopelessly lost because they have no clue of what is happening. I'll let you guess which is which.

This is not about worrying or even being bothered with details, but about understanding what you're working with.