Cluster.tools
The cluster.tools core is an orchestration tool for developers looking to simplify their development and operation of extract-transform-load (etl) functions.
Why use Cluster.tools?
Cluster.tools was developed from an operators perspective. When developing functions distributed in a private, public, or hybrid network what is the easiest way to version manage, load balance, monitor, and control access to these functions.
A standard interface definition using HTTP and JSON also allows you to create a wrapper on top of any software so that it can interface with cluster.tools.
What are some Use Cases?
- I want to load balance requests across several distributed deployments.
- I want to dynamically control access to functions in case of unexpected behavior.
- I want to update one unit of code without affecting service to unrelated units.
- I want to track the amount of data processed and how long it took.
- I want a central location to receive logs from distributed processes.
- I want a central configuration management solution that can be distributed across functions.
Why did you start this?
Cluster.tools was started in parallel with a separate project to handle deploying etl functions in golang. Over time it evolved into its own project that is continued to this day.