3 ms·
What about functions as a service, like AWS lambda? If you use Node as an example, your code is JIT compiled to machine code, any single request can fail, and
by justsomeuser 5y ago
What about functions as a service, like AWS lambda?
If you use Node as an example, your code is JIT compiled to machine code, any single request can fail, and you can scale to any number of requests without thinking about the underlying OS or VM.
Async/await will allow you to do a “blocking receive” like Erlangs processes.
- pdimitar 5y agoNah, BEAM is not suited well for that. It has a big startup time. BEAM is designed for long-running daemons, not "wake up, do small amount of work, get shut down". For something like this I'd choose Rust or OCaml due to their insanely fast cold startup time (if the program is a CLI tool). Erlang/BEAM is not there yet and it might not soon be.
- justsomeuser 5y agoWasn't suggesting to use the BEAM. OP said he did not know any other "BEAM like environments", but AWS and GCP are "BEAM-like" systems in that they allow you to use distributed hardware computers to achieve scale and fault tolerance.
- pdimitar 5y agoThis sounds true on the surface and many people have argued that e.g. Kubernetes is "OTP but for distributed nodes" but I remain skeptical. The devil is always in the details and I haven't heard many people being very pleased with Kubernetes. Admittedly Google's Cloud Run is very easy and nice to use though. And fairly cheap.