First: 9 9s means that for all 13(?) years NixOS has existed, there would be just over 4 seconds of down time.
Any real system would use many redundant machines to accomplish this. Google strives for 99.95%. Second: I think more generally what you're looking for is graceful restarting. NixOS has ~some~ support for this, but I believe it isn't implemented too thoroughly and you would have to carefully read the activation scripts to find it. You lose the some of the determinism NixOS provides, since you are now depending on erlang and all to implement it correctly. I believe corner cases exist, like when the version of Erlang changes Graham On Sat, Nov 26, 2016 at 10:23 PM stewart mackenzie <[email protected]> wrote: > Let me rephrase the question. > > Is it possible to build a highly available system on nix such that SLA > uptimes of 9 9s. (99.9999999 % uptime) are achievable? > > If so what primitives does nix offer to allow this to happen? > > Such primitives should be: the ability for nix to invoke the > hotswapping capabilities of a live running system. > > Now just connecting to Erlang and making changes isn't good enough. > Why? - nix cannot see those "imperative" changes. Git vs svn, git > takes the global view and svn the file view. Git got it right, you > need to factor in the entire repo's changes. Nix gets it right too by > looking at this from an entire system perspective, so I'm seeking a > way to introduce change to a live fractalide system from a nix level, > though it mustn't be a "connect to fractalide via ssh and change it > there" approach. Making changes to Erlang via ssh under Nix management > is like having a declarative system then introducing imperative > mechanisms. > > I need a formalized method to ensure global determinism yet be able to > make changes to a live running system from nix. > > Are there any Erlangers here who achieve huge uptimes on nix? If so > how do you do it? How do you make use of Erlang's hotswapping > mechanisms yet retain the lovely system wide determinism nix offers. > > kr/sjm > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev >
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
