Chris's Wiki :: blog/sysadmin/EasyVersusVirtuousSetup Commentshttps://utcc.utoronto.ca/~cks/space/blog/sysadmin/EasyVersusVirtuousSetup?atomcommentsDWiki2013-07-27T12:53:35ZRecent comments in Chris's Wiki :: blog/sysadmin/EasyVersusVirtuousSetup.From 89.70.184.230 on /blog/sysadmin/EasyVersusVirtuousSetuptag:CSpace:blog/sysadmin/EasyVersusVirtuousSetup:d719b6b14925135de93d40b7cd81de565c182917From 89.70.184.230<div class="wikitext"><p>I'd also throw in <a href="https://github.com/devstructure/blueprint">Blueprint</a>,
a tool for getting differences out of installed system. (Unfortunately
I haven't used that yet, I just have it on my TODO list.)</p>
<p>About automation, go either Puppet or CFEngine 3.x. To pick one up, you may
just flip a coin.</p>
<p>For more insightful choice, here are some (my) arguments:</p>
<ul><li>Puppet has a way of writing plugins (in Ruby)</li>
<li>CFEngine is more a language and what you would do, is to write those plugins
in CFEngine's language</li>
<li>CFEngine is written in C, so it uses less resources, it's faster and doesn't
require tons of dependencies (could be important on Red Hat derivatives; on
Debians Puppet is in standard repository, so somebody already took care of
packaging the dependencies)</li>
<li>CFEngine is by design a standalone agent that sometimes may pull some files
to apply to the system (but pulling files is not generally a must); Puppet
by design talks to Puppet Master, so there should be one (there is
a movement of <em>masterless Puppet</em>, but it's not widely announced and talked
by Puppet team, and requires some manual work, like adding a cron job). Both
these make CFEngine my first choice for personal server.</li>
<li>team building CFEngine is less noisy; I see their blog posts more
insightful, less <em>look-at-how-awsome-we-are</em> and more technical (but this,
of course, is only a subjective feeling)</li>
<li>CFEngine team is less focused on DevOps trend, and more on general
automation -- this results in less DevOps marketing and propaganda</li>
</ul>
<p>As you may see, I'm slightly skewed in favour of CFEngine.</p>
<p>Anyway, give Blueprint a try on some test server. It may save you manually
noting down what you did to personalize the machine.</p>
<p>--
dozzie</p>
</div>2013-07-27T12:53:35ZFrom 80.193.24.91 on /blog/sysadmin/EasyVersusVirtuousSetuptag:CSpace:blog/sysadmin/EasyVersusVirtuousSetup:52aa49f1af6b8da4ddad3bf6dc3332f25d2f48d0From 80.193.24.91<div class="wikitext"><p>Why not just go for something halfway there and use version control for the quickly hand-crafted configs? This will at least get you the most laborious part of it in a repeatable state with little effort.
Then lists of required packages etc if that is non-obvious.</p>
<p>Converting to a configuration management tool later on by retro-fitting isn't that difficult when you have time and inclination to do so :)</p>
</div>2013-07-27T10:00:33Z