Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I've long suspected that something like this was the logical end point. Ever since I found myself writing a Puppet manifest that created an Upstart entry.

Configuration engines have tended to emphasise bits-at-rest. "Make sure these packages are installed, that these files are present, that this is what's in /etc".

Process management engines emphasise bits-in-flight. "Make sure Wordpress is running. Wordpress relies on PHP, nginx and MySQL".

Generally speaking, config engines assume that the bits-at-rest are correctly arranged to ensure correct runtime performance. And process management assumes that someone else has supplied the bits-at-rest which can be reified into an operational system.

Configuration engines tend to stray a bit into ensuring that software is up and running (eg, cfengine polls services every 5 minutes), but stop well short of the final conclusion of process management: insertion into the init hierarchy.

Why the separation? It's historical. Each local problem was solved in isolation (broken server config / crashing server processes) and they've each grown at the edges towards each other.

Just as ZFS collapsed several historical layers of file system tools into a single layer, it's been long overdue for the concept of defining a model of a system's various configurations with a detect-and-correct mechanism to be a universal framework that applies across an entire system.



Solaris' SMF and fault management framework is a very good step towards what you're after, plus it's mature and suitable for use in production.

http://www.oracle.com/technetwork/articles/servers-storage-a...

Don't let the XML configuration put you off. I suspect they'd have used JSON if they were doing it again, but it's from the era when XML was the default structured text based format.

If you want to play with this (and IPS as mentioned above), try OmniOS: http://omnios.omniti.com/


I've been busy hacking together a SmartOS zone wherein the nix package manager runs. My plan is to use disnix to configure SMF services on it.


Is it turing complete?


You might like a programming language I make, "NCD". See: https://code.google.com/p/badvpn/wiki/NCD

It follows a similar philosophy to Nix but for runtime management of processes and events in general. It's really functional though. But it is a bit declarative, with the implicit backtracking, the unique feature of NCD.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: