[Haskell-cafe] Project idea, seeking feedback
alex at centromere.net
Wed Nov 15 22:44:14 UTC 2017
On Wed, 15 Nov 2017 15:30:37 +0100
MarLinn <monkleyon at gmail.com> wrote:
> Hi Alex,
> sounds ambitious. But you might be able to reduce the scope massively
> by relying on existing tools.
Yes! I do not wish to reinvent the wheel.
> Let something like Nagios do the monitoring. I know there's tools
> to control Nagios from Haskell. What I don't know is how up-to-date
> they are, and I haven't seen something that reports internal
> performance data of a Haskell app to Nagios, but that should be
> simple if necessary.
I don't think Nagios is a good fit because I want to do more than
monitor the performance of the interpreter. I want to rely on that
performance data so that I can use resources more effectively. For
example, I want to know what the load average of a particular node is,
and then I want to rely on historical performance data of the DSL
primitives to determine if the next instruction to be executed should
be scheduled to run on that node or a different one.
> Let something like Cassandra handle both the heaviest parts of
> messaging between your node controllers and the storage of their
> config data. If you base your WUI on top of the DB, you can
> separate it from the controllers as well.
> Coordination of resources is a variant of scheduling, which is a
> ""solved"" problem. So there should be libraries you can use.
For cluster coordination/configuration I was thinking of using Consul.
> Logging has been worked on by many a commercial Haskeller. My
> guess is that filtering is just a matter of looking at one of the
> libraries from the right angle.
I intend to leverage existing libraries where possible. I want to
create an environment in which the commercial Haskeller never has to
choose and wire in a logging library. The decision is already made by
the framework. They just need to insert logging statements where
> Or just use Kubernetes. Whichever is easier. ;)
Kubernetes is a great tool, but it doesn't do what I envision.
More information about the Haskell-Cafe