[Infrastructures] state machines
Daniel Hagerty
Daniel Hagerty <hag@linnaean.org>
Wed, 20 Sep 2006 14:50:27 -0400
> Both the previous DNS alias example and the above UID example have a
> similar nature: data is stored in an external directory which is
> critical to expected functionality. The problem is a hard one because
> it incorporates aspects of federation (you may not control the
> directory servers; thus, the directory servers may be unreliable
> and/or malicious).
>
> The essential problem is defining the boundaries of the system to be
> managed. If you can't do that, you can't construct the state machine
> digraph.
Well, not strictly true, but harder.
The above examples, and the network in general falls under the
following math problem:
eval(expression, context) yields a value.
If you change the context (a CNAME, the LDAP server, etc, etc), it's
quite possible that you're changing the value you produce. If you can
capture the way that expression relies on its context, you can
possibly seperate its dependance on the context so that simple,
obvious changes will cause you to generate the same value given
different contexts.
An ex-employer does something effectively like this for managing the
development/testing/production installation of their in house product.
That's exactly the sort of situation where some amount of the context
(e.g. what's the name of the front end webserver?) is an immutable
given that changes between test and production, but you don't want to
get mired in these immaterial differences.