News for hackers. Stuff that matters.
Re:Zerg: Boot a VM instance per request, all in under 250 ms by pjc50 on Thursday December 28, 2017 @05:26AM (#16021307)
> own serverless implementation

Isn't this just cgi-bin, right down to the long startup time and lack of persistence?

Re:Zerg: Boot a VM instance per request, all in under 250 ms by jxf on Thursday December 28, 2017 @06:20AM (#16021465)
It's similar in intention, but "serverless is just `cgi-bin`" misses a lot of nuance. Zerg and cgi-bin are solving different problems and with different implementations. It's extremely difficult, if not impossible in some environments, to get the same kind of isolation with cgi-bin that you do out of a VM.
Re:Zerg: Boot a VM instance per request, all in under 250 ms by catern on Thursday December 28, 2017 @09:25AM (#16022121)
You gain on isolation with Zerg (and other "VM per request" things) but you lose on everything else compared to CGI with processes.

But you can reach comparable levels of isolation with processes: just use Linux namespaces.

Re:Zerg: Boot a VM instance per request, all in under 250 ms by htgb on Thursday December 28, 2017 @06:19AM (#16021461)
Is it? I'm under the impression that cgi-bin is a way to serve requests from the local computer, while Zerg is a way to spawn _other_ server instances to handle the request (and in Erlang, specifically).
Re:Zerg: Boot a VM instance per request, all in under 250 ms by pjc50 on Thursday December 28, 2017 @06:55AM (#16021566)
Yes, but you could let a load balancer handle that for you, and you might not need as many computers to handle the requests if it didn't take 250ms to start.
Re:Zerg: Boot a VM instance per request, all in under 250 ms by sitkack on Thursday December 28, 2017 @07:43AM (#16021714)
Booting a VM should be "as complex" as fork. And the memory image of the booted OS should be identical on each load before the end user specific data is loaded.

"Prefork" these VMs by spraying that image over physical memory in advance, jump to them on a request. memcopy a new VM over them on exit.

VM spawn rate should be the memcopy rate, if the MMU is powerful enough, should only be the amount of memory mutated during a request.