I decided to change the roadmap of the grinderl project.
It first application was to be a tiny load-test framework (at least a testing framework as I’m not sure it is efficient enough to create heavy load on a well design server). And I still have to finish the part of creating useful statistics from all the results.
But now I think that I could implement a better node management API, and then grinderl can become one way to call code on remote host (not exactly as RPC since command are asynchronous and supervised by remote host). One application could be to install an external application on all remote host, or manage deployment like does capistrano (but with the full Erlang environment available!).
So the new (of course, it’s the first!) roadmap:
- Stabilize the current version:
- move test to become command
- better handling of results sent by remote hosts
- Develop concurrently the remote node API and a UI:
- API to manage remote hosts
- use slave module
- have a look at this how-to
- can we install a minimal Erlang node on a remote machine through ssh … using CEAN or erlware maybe?
- UI: network tools seems to require a network-able UI (probably using yaws) to be able to:
- see/manage nodes/hosts
- send command to all/any hosts, monitor results (looks like each command will need a specialize UI)
- API to manage remote hosts
Conclusion:
- Sad note: nothing new in grinderl (this project don’t seems to appeal my creativity)
- Good note: simple project to learn Erlang distributed programming