News for hackers. Stuff that matters.
Re:Cloud, Why So Difficult? by vbezhenar on Tuesday June 27, 2023 @01:01AM (#36489089)
Cloud is difficult because it stiched together from fragments of old applications and approaches.

Cloud will be easy with consistent approach. One or very few languages for everything, from configuring resources, to configuring policies and writing code.

Cloud will be easy with opinionated tooling. No Dockerfile and supporting of miriads languages. Just file with dependencies and folder with source code.

Cloud will be easy with opinionated approach to configuration. No need to support PASSWORD env, PASSWORD_FILE env, some secret access service. Only one secure and simple way.

Basically rebuild cloud from the ground up. Remove Linux from equation, we don't need it. Remove filesystem from equation. You have a source code which executex somewhere. You can declare that your service needs database and it'll get it. You can declare that your service needs to access another service and you'll be able to use API to access another service, without thinking about URLS, auth tokens and all this nonsense. Just RPC.

Lambdas are good idea, but very convoluted. Lots of abstractions over abstractions. Terraform which calls AWS API.

Things could be so much simpler and faster. There's nothing that prevents you from redeploying your service in microsecond, just as you hit "Save" button in vscode.

Re:Cloud, Why So Difficult? by skinny85 on Tuesday June 27, 2023 @01:42AM (#36489290)
Isn't the described vision a little bit like Heroku, which famously had some issues?
Re:Cloud, Why So Difficult? by ojkelly on Tuesday June 27, 2023 @01:36AM (#36489263)
There’s a good chance this is realised within 5 years, built on WebAssembly.

While it’s not on the metal performance like native compilation, it’s close. I wouldn’t be surprised to see CPU instructions for WASM to get to native performance, if it got popular enough as a runtime.

Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @01:18AM (#36489176)
> and supporting of miriads languages

It might have better chances with some common language runtime, than declaring One True Language. No matter what language you pick or invent, it's gonna be hated by many. Intermediate representations? Sure, but much less so.

But you are absolutely right that clouds need a fundamentally different runtime, built on different ideas and principles - not virtual machines running containers pretending to be functions, all completely separate from resource declarations (which are in turn all individual nuanced messes).

Re:Cloud, Why So Difficult? by afandian on Tuesday June 27, 2023 @01:19AM (#36489182)
That tight, opinionated integration of hardware and software sounds a lot like 'mainframe'.
Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @01:26AM (#36489214)
Lisp machines strike back? ;)
Re:Cloud, Why So Difficult? by lelanthran on Tuesday June 27, 2023 @02:46AM (#36489649)
> Lisp machines strike back? ;)

Ah well, you beat me to it: https://news.ycombinator.com/item?id=36489625

Re:Cloud, Why So Difficult? by stingraycharles on Tuesday June 27, 2023 @02:07AM (#36489417)
That’s what I was reading here, everything old is new and opinionated again.
Re:Cloud, Why So Difficult? by themodelplumber on Tuesday June 27, 2023 @01:24AM (#36489205)
> Cloud will be easy with consistent approach.

> Cloud will be easy with opinionated tooling.

> Cloud will be easy with opinionated approach to configuration.

This is really true. AND in no time at all, it will turn from "easy" into "steady, reliable" and then FOMO-derived cognitive dissonance will set in for either engineers, developers, sales team, or users, or some set of those. You'll get people inviting you back to FOMO-squirrel-duct-tape-emergencies-cloud.

At that point I'm convinced you have to find a way to act like you are FOMO+ while keeping easy-cloud well-maintained, if you wish to keep the squirrel cloud difficulties at bay. If you are part of a team then I wish you the best of luck.

Re:Cloud, Why So Difficult? by nathants on Tuesday June 27, 2023 @12:19PM (#36494958)
this.

the problem is people, not tech.

the solution is taste and discipline, same as its always been.

Re:Cloud, Why So Difficult? by phito on Tuesday June 27, 2023 @01:20AM (#36489184)
What would you replace Linux with?
Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @01:24AM (#36489200)
You don't really need any OS to run, say, BEAM VM (just an example). Language runtime could be an OS of its own, as long as it has all the necessary primitives so you can have your concurrency, messaging and persistence in a distributed fashion. All you need is a thin HAL (or a hypervisor, e.g. consider https://data-room-software.org/erlangonxen/ - just a first result I've found searching for running BEAM on bare metal) that's just enough to support the hardware.
Re:Cloud, Why So Difficult? by FridgeSeal on Tuesday June 27, 2023 @01:39AM (#36489277)
In my dream technology world, we’d be able to compile our applications into microkernels that we could deploy on cloud machines. Less layers between applications and the hardware, less “moving parts” that can break, etc.
Re:Cloud, Why So Difficult? by baq on Tuesday June 27, 2023 @01:29AM (#36489232)
You don’t need it to run, but running is not operating a service. Observability and debugability of unikernels is abysmal. I need Linux not for BEAM, node or Python; I need it for strace.
Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @01:35AM (#36489257)
I thought we're talking about true serverless. I don't believe Lambda lets you use strace?

And Erlang/BEAM that I've used as an example has its own tracing and debugging facilities. (I don't think it has proper multi-tenancy though so it's not like someone can just use it for cloud as it is, but I've just picked it as a closest example to what I think serverless should look like.)

Or you're talking about this from node/server admin perspective? Then, yeah, sure, but unless you're a cloud engineer it's not your business - that's Amazon/Google/Microsoft's problems.

Re:Cloud, Why So Difficult? by otabdeveloper4 on Tuesday June 27, 2023 @01:48AM (#36489325)
> You don't really need any OS to run, say, BEAM VM (just an example).

Yes, you do. BEAM will not handle your CPU interrupts or manage your physical memory pages or your USB devices. (The 99 percent of an OS's job.)

Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @01:56AM (#36489360)
That's hypervisor's (or some theoretical HAL's) job. While those can also be called an OS - I meant, there's no need for a full-fledged one, like Linux kernel.
Re:Cloud, Why So Difficult? by titannet on Tuesday June 27, 2023 @02:17AM (#36489475)
Reading that I am confused: isn't hardware abstraction what the Linux kernel does? It only becomes a general purpose OS with all the distribution specific stuff.
Re:Cloud, Why So Difficult? by drdaeman on Tuesday June 27, 2023 @03:32PM (#36497575)
It does, and it does a lot more than just working with hardware.

I'm sort of oversimplifying it (and probably forgetting a piece or two), but all that's needed is MMU, some minimal network subsystem with device drivers for network cards, and some very tiny VFS - just enough to handle the initrd-like thingy (the rest would be networked storage handled at the application level). E.g. if all we're going to ever run is a single VM that has its own ideas of processes and signals, we may not really need any full-fledged process scheduling or IPC, just the bits to support kernel's own threads.

Re:Cloud, Why So Difficult? by otabdeveloper4 on Tuesday June 27, 2023 @03:47AM (#36490052)
A "hypervisor (or some theoretical HAL)" is literally what an OS is.
Re:Cloud, Why So Difficult? by lmm on Tuesday June 27, 2023 @01:34AM (#36489253)
You'd build language-specific unikernels, like MirageOS. No point carting a whole operating system around to run one process as one user.
Re:Cloud, Why So Difficult? by bsder on Tuesday June 27, 2023 @01:47AM (#36489319)
WASM? BEAM? JVM? Anything?

"Linux" is huge overkill for a cloud abstraction.

Cloud applications don't need 99% of all device drivers and the desired ones need to be tuned for cloud anyways. Cloud applications need a persistent store but not necessarily a filesystem. Cloud applications don't want to think about process scheduling they want to assume they have the CPU and memory they need. etc.

Re:Cloud, Why So Difficult? by vbezhenar on Tuesday June 27, 2023 @01:52AM (#36489342)
Actually by Linux I mean the whole POSIX-"compatible" operating system.

Linux itself might be fine as a HAL.

But at this point there might be better alternatives.

Re:Cloud, Why So Difficult? by otabdeveloper4 on Tuesday June 27, 2023 @01:43AM (#36489295)
"Cloud" is just "datacenter" with special mark-up for the pointy haired boss.

Adopting a PHB-friendly name won't make the problems go away.

> There's nothing that prevents you from redeploying your service in microsecond, just as you hit "Save" button in vscode.

Yeah, we had that 20 years ago with PHP. It had its downsides too, let me tell you.

Re:Cloud, Why So Difficult? by fathyb on Tuesday June 27, 2023 @01:50AM (#36489332)
> There's nothing that prevents you from redeploying your service in microsecond, just as you hit "Save" button in vscode.

I knew someone would find some merit to my PHP + SSHFS setup someday

Re:Cloud, Why So Difficult? by moltar on Tuesday June 27, 2023 @03:01AM (#36489743)
Have you tried AWS CDK in watch and hotswap mode? It’ll quickly replace all Lambdas with new versions upon save. Not a few ms, but a few seconds.
Re:Cloud, Why So Difficult? by nathants on Tuesday June 27, 2023 @12:30PM (#36495129)
this is the LambdaUpdateCode api, and it’s definitely fast enough for a good dev workflow.

it even lets you pass the zip data as the post body when less than 50mb. otherwise it points to a zip in s3 or a container uri.