I've just read [this 
article](https://blog.acolyer.org/2017/10/30/occupy-the-cloud-distributed-computing-for-the-99/)
 which talks about using _Python_ in a serverless setting. Nim is _compiled_, 
so obviously, you can't do it exactly the same way, but I had the feeling it 
would not be that hard to do.

First, you would need some "cloud" to run it on, and I don't think existing 
serverless offers, like from AWS, would be usable, as they usually target 
Java/Python, so you would need something like 
[Kubernetes](https://kubernetes.io/), and maybe [Kubeless](http://kubeless.io/) 
could be adapted to Nim. You'd start with some repo of your code, possibly 
based on Nimble, where you would push code (or "references" to code, in the 
form of URLs). This would trigger some "compile service" to create a new DLL of 
that code, and put it in an "object store". Once this is complete, you can send 
request to have "functions" executed on your cloud. Each node would have one 
(or more?) processes that run in permanence, and have pre-opened connection to 
your DBs, and a (web?)server to receive requests, such that it only needs to 
load the DLLs on demand, run the functions (which take input from the DBs), and 
drop the DLLs when no more needed.

I currently don't have any need for this myself (as "serverless functions" are 
basically the _opposite_ of "actors", from my point-of-view), but I'd be 
interested to know if there is any Nim limitations that would make something 
like this hard to implement, as I can then expect to eventually run into those 
limitations myself, while trying to spread actors over a cluster.

Reply via email to