Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by tyingq on Sunday October 28, 2018 @08:25PM
(#18324086)
Better than "hosted fcgi for hipsters" I suppose.
[ Parent
| on HN ]
Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by rakoo on Sunday October 28, 2018 @09:48PM
(#18324405)
FaaS is closer in mindset to CGI than fCGI : if you're gonna have a server accepting connections, you might as well accept HTTP connections. CGI and FaaS are more like developing a function that transforms a request into a response, and let the infra deal with the rest.
It is true though that it would be nice to have a standard for FaaS that doesn't have the inefficiency of CGI.
Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by icebraining on Monday October 29, 2018 @03:50AM
(#18325683)
Nah, it's FCGI because the process is kept "warm" and reused. It's much like the typical execution model of php-fpm.
Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by rakoo on Monday October 29, 2018 @06:45AM
(#18326360)
That the process is kept warm is an artifact of the infrastructure. As a Dev you absolutely don't care about how it's run and that's the whole point: just implement your business logic and the system takes care of the rest. As a dev it's all transparent.
Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by icebraining on Monday October 29, 2018 @07:55AM
(#18326714)
That's actually less true of Lambda than of php-fpm. In Lambda, you can mutate the state of global variables between requests[1]; you have to take care not to do that. In php-fpm, all is thrown away.
[1] http://blog.matthewdfuller.com/2015/12/aws-lambda-occasional...
Re:Why Netflix Rolled Its Own Node.js Functions-As-a-Service...
by tyingq on Monday October 29, 2018 @08:13AM
(#18326820)
That's true for php-fpm, though many use something like apcu to cache state between requests. FCGI itself doesn't mandate that "thrown away globals" behavior. Golang under FGCI, for example, just spawns a goroutine for each new request.