A distributed cluster of worker nodes, either hosted by the user or by an IaaS offering. Dispatch jobs to it as if it was a local threads.js worker pool.
Cluster is identified by a discovery endpoint URL. The discovery endpoint is either provided by the user or by the aforementioned IaaS provider. Workers use some kind of secret key / token to authenticate and join cluster.
Cluster users (usually backend services) can use the discovery endpoint to find worker nodes and authenticate using cluster credentials to manage jobs or query stats.
A cluster dashboard would of course be great.
Benefits
Super easy to use: You need a small SDK package, a cluster discovery URL and an authentication token to schedule jobs using the super-convenient threads.js API
Super easy to set up if there is an IaaS offering
TBD
Provide docker images that allow using labelled docker containers as workers?
Provide docker images that allow super easy dynamic deployment á la zeit.co's now?
Three ways to use it (?)
Use IaaS
Host everything yourself
Use discovery endpoint and dashboard by IaaS provider, but host workers yourself
A distributed cluster of worker nodes, either hosted by the user or by an IaaS offering. Dispatch jobs to it as if it was a local threads.js worker pool.
Cluster is identified by a discovery endpoint URL. The discovery endpoint is either provided by the user or by the aforementioned IaaS provider. Workers use some kind of secret key / token to authenticate and join cluster.
Cluster users (usually backend services) can use the discovery endpoint to find worker nodes and authenticate using cluster credentials to manage jobs or query stats.
A cluster dashboard would of course be great.
Benefits
TBD